Windows VC6下編譯了兩個程式A和B,直接啟動B一切正常,而通過A createprocess B,這時候B的網路例外,有誰知道這是怎么回事嗎
uj5u.com熱心網友回復:
個人猜測:不同啟動方式,進城的堆疊空間大小不同,可能會導致使用較大堆疊空間失敗。
uj5u.com熱心網友回復:
最好貼出來看,你createprocess的引數uj5u.com熱心網友回復:
B是你寫的就除錯唄直接啟動和CreateProcess當前目錄STARTINFO什么的都不一樣……
uj5u.com熱心網友回復:
dwCreateFlags = CREATE_UNICODE_ENVIRONMENT;
STARTUPINFO si = {0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
si.wShowWindow = SW_HIDE;
si.hStdInput = hReadPipe;
si.hStdOutput = pReqSock->m_hFile;
si.hStdError = pReqSock->m_hFile;
CreateProcess( NULL, strCmdLine.GetBuffer(1),
NULL, NULL, TRUE,
dwCreateFlags, pEnv,
strDir, &si, &pi );
uj5u.com熱心網友回復:
已經試過了,沒招了,連代碼的執行順序都感覺不一樣,后面的列印竟然先出現了
uj5u.com熱心網友回復:
發行版的話,把優化關掉再試。uj5u.com熱心網友回復:
是不是權限的問題轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/51479.html
標籤:網絡編程
上一篇:VS2008工程,因結構體位元組對其問題導致的string賦值出現崩潰,求大佬解答
下一篇:大神求教
