如何在c ++控制台中运行控制台进程

问题描述 投票:0回答:1

因此,基本上,我设计了一个具有炫酷设计的c#应用程序,但是与其重新构建它以使其重新投入c ++,我不想让我的生活变得更轻松,而是使其在c ++控制台应用程序中运行。问题是我只能想出一种方法可以将c ++控制台中的应用程序作为外部进程运行,而不能真正嵌入到c ++控制台中(它们都是控制台应用程序)。有什么方法可以在内部启动c#控制台? C ++控制台?

这是我在C ++上的代码int result = system(location);

[如果有人有任何想法,请告诉我。谢谢!

c++ c++11 visual-c++ c++14 c++-cli
1个回答
0
投票
由于您已经在问题中使用system()命令,所以我假设您可以在解决方案中使用它。在这种情况下,只需使用Batch(CMD)命令在当前窗口中启动进程即可。

首先,您需要编译C#代码。 This post详细说明了该操作。如果要在C ++程序中执行此操作,只需将compile命令包装在system()命令中(例如system("/* path to csc.exe */ \t:exe \out:App.exe App.cs");)。

[此后,只需在另一个system()命令(例如system(App.exe))中包装exe的名称。

因此,如果我有一个名为“ Books.cs”的cs脚本,这是我可以根据需要编译并从C ++运行的方法:

// PATH_TO_CSC should be replaced with the path to csc.exe on your machine int main() { system("PATH_TO_CSC \t:exe \out:Books.exe Books.cs"); system(Books.exe); }

注意,要使其正常工作,您的工作目录必须与C#脚本相同。对于C#程序,这未经测试,但是我能够运行未打开新窗口的C ++可执行控制台应用程序。另一个可执行文件应具有类似的结果。
© www.soinside.com 2019 - 2024. All rights reserved.