我正在使用調試器查看變量。在調試版本中,下面代碼中的所有內容都按我的預期顯示,但是當我切換到發佈版本時,我收到了奇怪的結果。爲什麼?在調試器中查看調試和釋放之間的區別
#include <iostream>
void say_hello(int argc, char* argv[])//In release mode argc has different values from 124353625 to 36369852 when viewed in the debugger
{
std::cout << "In say_hello()\n";
}
int main(int argc, char* argv[])
{
say_hello(3,argv);//when instead of literal I enter "argc" everything is ok.
return 0;
}
感謝您的幫助。
真正的問題是您如何調用程序?因爲ARGC應該包含在命令行中傳遞的程序參數所以如果沒有它... – 2010-03-30 15:14:35
請張貼有代表性的樣本,顯示您的問題,實際上編譯 - 你當前的例子需要一個「#包括」但除此之外,看起來不錯。 –
2010-03-30 15:15:13
@Matthieu M.我從Visual Studio調用這個程序 – 2010-03-30 15:16:58