2014-02-21 87 views
-2

我想製作一個將程序寫入文件然後運行的C++程序。我們的目標是製作一些隨機數字生成器或類似的東西,測試每一個,做一些類似算法的「自然選擇」,以獲得最終更好的結果(也許重複這個過程)。運行另一個C++程序的C++程序

我對AI部分不感興趣。我只想知道是否可以運行另一個C++程序的C++程序,以及如何實現這一點。

感謝您的支持!

+0

http://en.cppreference.com/w/cpp/utility/program/system – willll

回答

1
int result = system("another_program"); 

這裏是reference

+0

正常,但有一個窗口的方式這樣做? – ioanD

+0

請參閱http://stackoverflow.com/questions/6783256/run-c-program-in-c-program?rq=1 – OMGtechy

0

您可以使用CreateProcess WinAPI的開始,你需要所有其他程序:

STARTUPINFO si; 
PROCESS_INFORMATION pi; 

ZeroMemory(&si, sizeof(si)); 
si.cb = sizeof(si); 
ZeroMemory(&pi, sizeof(pi)); 
wchar_t command[MAX_PATH]; 
swprintf_s(command, L"path to whatever program you need"); 

// Start the child process. 
if(!CreateProcess(NULL, // No module name (use command line) 
    command,  // Command line 
    NULL,   // Process handle not inheritable 
    NULL,   // Thread handle not inheritable 
    FALSE,   // Set handle inheritance to FALSE 
    0,    // No creation flags 
    NULL,   // Use parent's environment block 
    NULL,   // Use parent's starting directory 
    &si,   // Pointer to STARTUPINFO structure 
    &pi)   // Pointer to PROCESS_INFORMATION structure 
) 
{ 
    MessageBox(NULL, L"Could not start program", L"Error", MB_OK | MB_ICONERROR); 
}