Visual Studio配置(1):解決方案屬性說明

寫完後發現不少是顧名思義的,可是道理我都懂,但爲何這樣呢?網絡上也找不到,可能不多人用到吧。

不過其實也是,不少東西知道一點就知道解決問題的方向了。程序員


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並無本質的界限,他們只是一組編譯選項的集合,編譯器只是按照預約的選項行動。
事實上,咱們甚至能夠修改這些選項,從而獲得優化過的調試版本或是帶跟蹤語句的發佈版本。 

Win32和X64
會生成不一樣的程序,調用dll的時候,可能要指定對應的版本32位或64位。
字長可能也會影響,X64的程序時不能再win32上面運行的。

解決方案的屬性
通用屬性:要在解決方案的屬性才能看見,在項目的屬性是沒法看見的。
啓動項目:設置默認啓動的項目,能夠設置單個項目,多個項目和當前選擇項目。
項目依賴項:設定當前項目依賴的項目,以決定具體生成解決方案時項目編譯的順序。
代碼分析設置:設置不一樣的代碼生成的規則,其實我也不是很懂。https://msdn.microsoft.com/zh-cn/library/azure/hh419387(v=vs.110).aspx
調試源文件:默認只制定了MFC的調試文件包含哪些,若是是本身的文件,必須有debug版的二進制文件、.pdb文件,以及源碼,必須對應上。
配置屬性:要在解決方案的屬性才能看見,在項目的屬性是沒法看見的。

配置:配置各個項目的配置(debug和release)、平臺(win32和x64)、是否生成、部署數據庫

相關文章
相關標籤/搜索