6.0如何生成發布VC++如何生成release版


(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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM