(ZZ:http://www.vsyo.com/a/t/9e4ed6f8bab7f521)
VC++ 6.0如何生成發布
1、確定Debug版無錯,注意Trace等調試方法可能造成的錯誤
2、Release版的exe文件鏈接的是標准的MFC DLL,比如MFC42.dll。這些DLL在安裝Windows的
時候,就會裝到系統中。因此,這樣的exe在沒安裝Visual C++ 6.0 的機器上也能運行。而
Debug版不能,除非使用靜態鏈接
生成release版的步驟:
build->set Active
configuration->工程名-win32 Release
我遇到的一個錯誤:
Release/Server.pch No such file or directory
Server是我的程序名。解決方法:
工程——設置——C/C++——分類:預編譯的頭文件——不使用預補償頁眉——確定——全部
重建
debug版本和release版本的區別:
Debug 通常稱為調試版本,它包含調試信息,並且不作任何優化,便於程序員調試程序。Release
稱為發布版本,它往往是進行了各種優化,使得程序在代碼大小和運行速度上都是最優的,以便用戶很好地使用。
Debug 和 Release 的真正秘密,在於一組編譯選項。下面列出了分別針對二者的選項
Debug 版本:
/MDd /MLd 或 /MTd 使用 Debug runtime library(調試版本的運行時刻函數庫)
/Od 關閉優化開關
/D "_DEBUG" 相當於 #define _DEBUG,打開編譯調試代碼開關(主要針對assert函數)
/ZI 創建 Edit and continue(編輯繼續)數據庫,這樣在調試過程中如果修改了源代碼不需重新編譯
/GZ 可以幫助捕獲內存錯誤
/Gm 打開最小化重鏈接開關,減少鏈接時間
Release 版本:
/MD /ML 或 /MT 使用發布版本的運行時刻函數庫
/O1 或 /O2 優化開關,使程序最小或最快
/D "NDEBUG" 關閉條件編譯調試代碼開關(即不編譯assert函數)
/GF 合並重復的字符串,並將字符串常量放到只讀內存,防止
被修改
實際上,Debug 和 Release並沒有本質的界限,他們只是一組編譯選項的集合,編譯器只是按照預定的選項行動。事實上,我們甚至可以修改這些選項,從而得到優化過的調試版本或是帶跟蹤語句的發布版本
轉載來源:http://hi.baidu.com/sudshine/blog/item/15fcf9cf4d4acc0e92457ea2.html