不知道這問題在po文是否妥當,若不妥請版主告知,我再刪除
最近研究寫 code 寫了兩個程式
就用A.exe (屬於MPI程式) B.exe(屬於GPU CUDA程式)來代表說明好了
因為想結合MPI+GPU CUDA 來分散式處理 減少運算時間
在A.exe code裡面寫了
ShellExecute(NULL,TEXT( "open"), TEXT("C:\B.exe"), NULL, NULL,
SW_SHOWNORMAL);
來執行A.exe間接開啟B.exe執行
但由於 B.exe寫在一個A.exe code迴圈裡 所以會跳出視窗很多
請問一下 ShellExcute(); 可以宣告我的B.exe直接輸出在一個文字檔output.txt嗎!?
還是...在 B.exe code 裡面宣告 輸出在一個文字檔output.txt !?
又該如何寫!?
不知道高手們是否了解我問題!?
或者我有哪些觀念不正確的話 請高手們糾正我
小弟我是寫程式新手 >"<
謝謝指教
如果 A.exe 裡有很多 thread ,而 thread 裡都會呼叫到 b.exe ,那麼,建議把 b.txt 換成時間或流水號的檔名,避免發生寫入衝突。
用ShellExecute應該也是可以,不過我印象中 ShellExecute 不能帶參數。
或許你可以改用 WinExec http://msdn.microsoft.com/en-us/library/ms687393%28VS.85%29.aspx 或者是 popen (我不知道 Windows 有沒有此函數,這個很方便)
再不行,研究一下 CreateProcess 吧,這個可以讓你完整控制一個外部的 process,甚至不需要另外寫檔案,就可以把外部 process 的 stdout 接到自己程式來。
一隻猴子隨機在打字機鍵盤上按鍵,最後必然可以打出法國國家圖書館中的每本書。
內文搜尋

X