c 專案屬性

2021-07-04 13:45:01 字數 1073 閱讀 2281

/執行時庫:

c/c++ run time library(standard c/c++)-->microsoft c/c++ runtime library-->windows api: kernel32.dll, user32.dll, gdi32.dll

microsoft c/c++ runtime library(crt): 

libcmt.lib mt

libcmtd.lib mtd

msvcrt.lib+msvcr80.dll md

msvcrtd.lib+msvcr90d.dll mdd

如果編譯選項是mt,mtd, 則生成的exe裡包含了runtime lib, 在別的windows機器上也可以跑,不論是否有安裝visual studio.

如果編譯選項是md,mdd,則生成的exe需要包含msvcm90.dll,msvcr90.dll,msvcp90.dll,microsoft.vc90.crt.manifest.在目錄program files\microsoft visual studio 9.0\vc\redist\x86\microsoft.vc90.crt。

dll呼叫動態執行時庫,exe呼叫動態執行時庫,可以實現exe中釋放dll中開闢的空間

dll呼叫靜態執行時庫,exe呼叫動態執行時庫,失敗,彈出中斷框,windows已在exe中觸發乙個斷點。其原因可能是堆被損壞,這也說明exe中或者它所載入的任何dll中有bug,

dll呼叫靜態執行時庫,exe呼叫靜態執行時庫,失敗,彈出中斷框,windows已在exe中觸發乙個斷點。其原因可能是堆被損壞,這也說明exe中或者它所載入的任何dll中有bug,

原因:使用動態執行時庫,內部採用同乙個堆。靜態執行時庫分別有自己的堆。

解決方法:dll內部實現開闢空間和釋放空間的介面函式。 多專案使用統一編譯現選項。

/mfc的使用:使用標準的windows庫

使用靜態mfc庫,使用動態mfc庫的區別:

應用根目錄是否要包含d:\program files\microsoft visual studio 9.0\vc\redist\x86\microsoft.vc90.mfc的檔案///

** 

VS專案配置屬性

vs專案配置屬性 編譯 鏈結 執行 c c 的編譯過程詳解 整理在此方便以後 疑問 1.導入庫 dll庫的匯入lib檔案 2.附加依賴項 vs 專案引用 3.dll vs lib dll 外鏈,4.附加包含目錄 1 新增工程的頭檔案目錄 工程 屬性 配置屬性 c c 常規 附加包含目錄 加上標頭檔案...

caffe VS專案屬性配置

目前遇到錯誤 fatal error lnk1104 無法開啟檔案 libboost date time vc140 mt gd 1 61.lib 經驗點 對照caffe編譯專案一步步看。error出現的幾個點 首先是無法找到 lib,如 fatal error lnk1104 無法開啟檔案 lib...

C 定義屬性 靜態屬性

2012年06月27日 08 57 00 weixin 34198583 閱讀數 11 c 靜態屬性可以是讀寫屬性,唯讀屬性,只寫屬性中的任意一種。也就是說,靜態屬性可以同時包含set訪問器和get訪問器,也可以只包含其中一種。靜態屬性定義方式就是在屬性前加static關鍵字,語法如下 訪問修飾符 ...