2009-01-25 33 views

回答

10

您是否在程序的文件範圍中定義了大型數組?這可能是一個原因。您可以使用dumpbin程序來查看exe文件中每個部分佔用多少空間,這應該會給您提供「爲什麼」的線索。

+0

是的!大型數組。我從來沒有想過,巨大的陣列會做這種奇怪的事情。我刪除了所有這些,並在飛行中分配它們。我的exe變得很小。但爲什麼不出現這個問題呢?也許當我重新組織代碼將所有內容放在類中... – Calmarius 2009-01-25 17:47:29

+0

在調試版本中,可能會有調試代碼將數組初始化爲0xCD。 – MSalters 2009-01-26 08:31:16

0

版本比調試大6倍 - 可能是錯誤的。 嘗試創建一個新項目並複製源代碼。編譯它並查看您獲得的Debug和Release可執行文件。

2

也許你是靜態鏈接你的.exe在發佈,但在調試動態鏈接?檢查這是對話框項目屬性。

另一種可能性是,在發佈模式中很多函數是內聯的,或者您正在使用大量模板。

您可以告訴編譯器在對話框項目屬性中優化大小。

相關問題