我剛在我的新系統上安裝了用於Windows Server 2008和.NET 3.5的Platform SDK,並且第一次嘗試編譯WIN64的項目。該程序的Unicode發佈版本爲32位(使用不再可用的免費工具包中的優化編譯器)而構建,大約2.8 MB。使用來自最新PSDK的amd64編譯器,該程序大於5 MB。MSVC++ 2008和PSDK編譯器有區別(重新優化)嗎?
我最關心的程序大小,所以一切都建立在/ O1開關。我期待該程序在爲64位構建時變得更大,但不是那麼多。該尺寸更符合Express版本的構建,其中(某些)優化不可用。
PSDK中的編譯器和MSVC 2008 Professional的編譯器是否會創建大小不同的程序? PSDK中的編譯器是否以相同的方式進行優化,或者甚至完成?
感謝您的任何見解。
編輯:
程序和所有鏈接庫所使用的命令行上同一makefile.vc,所以在編譯設置差異不太可能建成。我基本上只是使用另一個命令文件來啓動一個適合64位編譯環境的shell。
下面是該應用程序的大小:
VC++ Toolkit 2003 32 bit cl.exe: 13.10.3052 for 80x86 2.916.352 Platform SDK 32 bit cl.exe: 15.00.30729.01 for 80x86 2.881.536 Platform SDK 64 bit cl.exe: 15.00.21022.08 for x64 5.138.432
因此,64位版本:-(
您應該確保環境變量不會影響其他方面。 – leppie 2008-12-03 19:35:38
謝謝你的提示,明天我會看看。還將使用PSDK編譯器進行32位構建,以查看其中的尺寸差異。 – mghie 2008-12-03 19:55:34