【发布时间】:2014-06-20 17:52:24
【问题描述】:
我有 2 个Visual Studio C projects:
首先是主程序,
第二个项目为第一个项目创建一个输入。
如何在主程序运行前自动执行第二个程序?
(即第二个项目将在第一个项目读取输入之前创建输入,我不必自己手动运行第二个程序)。
【问题讨论】:
标签: c visual-studio running-other-programs
我有 2 个Visual Studio C projects:
首先是主程序,
第二个项目为第一个项目创建一个输入。
如何在主程序运行前自动执行第二个程序?
(即第二个项目将在第一个项目读取输入之前创建输入,我不必自己手动运行第二个程序)。
【问题讨论】:
标签: c visual-studio running-other-programs
您只能让一个进程自动启动。因此,您可以通过从第一个的源代码启动第二个来调试两者。在 Windows 上,您必须使用 Win32 API,包括 Windows.h 并调用 CreateProcess() 函数。第二个进程应自动附加到调试器。在调用 CreateProcess() 之后,第一个进程可以安全终止。如果您不希望在发布版本中使用它,可以在预处理器条件下使用它。
#ifdef _DEBUG
CreateProcess(...
#endif
【讨论】:
QProcess 类。但最终,在 Windows 上,它将调用 CreateProcess。其次,Visual Studio 本质上也将调用CreateProcess,因此无法保证数据可用于第一个项目。您仍然需要处理同步问题。在命令行上传递参数可能更容易。