2013-10-05 19 views
2

在調試模式下,我一直在命令參數中收到VS2012中錯誤的值。我通過屬性 - >配置屬性 - >調試 - >命令參數設置了正確的參數,但我仍然得到相同的錯誤輸出。在調試模式下運行時VS2012中錯誤的命令參數

該代碼在發佈模式下工作,但不在調試模式下工作。

這裏是我的代碼:

int main(int argc, char **argv) 
    { 
     cout << argc << endl; 
     return 0; 
    } 

輸出是:2130567168

argv的地方應該是指向另外,我檢查了內存塊,它有沒有相關的我傳遞的參數。

編輯:

我已經解決了這個問題感謝doctorlove的提問。顯然,設置入口點產生了錯誤的值。我已經將它設置爲「主要」,並刪除它解決了問題。

任何人都可以解釋爲什麼發生這種情況?

+1

調試版本是否生成了調試信息集?它是否從命令提示符表現相同?這是你的程序中的全部嗎?你有什麼設置命令參數?重建會修復它嗎? – doctorlove

+0

謝謝你的提問,我解決了這個問題。 – Masa

回答

3

關於你的編輯,一個C程序的入口點不在main,而是一個C運行時專用的入口點,初始化C運行時,包括對最終傳遞到main的參數。

相關問題