在共享Dll和靜態庫中使用MFC的區別

2021-07-31 15:26:29 字數 442 閱讀 6702

使用vs編譯mfc工程是在專案屬性中有一項mfc的使用,有三種設定:    

1.使用標準windows庫   

2.在共享dll中使用mfc    

3.在靜態庫中使用mfc

第一種顧名思義。

第二種指的是打包時一些mfc的dll的內容沒有被包含在exe檔案中,所以exe檔案較小,但是執行時要求系統中要有相關的dll檔案。

第三種是將dll中的相關**寫進exe檔案中,檔案較大,但是可以在沒有相關dll的機器上執行。    

同時,如果程式本來是第二種方式,發給同事,在同事機器上執行時,可能會出現錯誤:「無法啟動程式……,由於應用程式配置不正確,未能啟動此應用程式。」我覺得,在開發階段的程式都選第3種比較好吧,不用管大小以及效率,等後期打包的時候用spy等其他工具都可以,來偵測dll等就行了。

在共享DLL中使用MFC 和在靜態庫中使用MFC

使用vs2008,在專案屬性中有一項mfc的使用,有三種設定 1.使用標準windows庫 2.在共享dll中使用mfc 3.在靜態庫中使用mfc 第一種顧名思義。第二種指的是打包時一些mfc的dll的內容沒有被包含在exe檔案中,所以exe檔案較小,但是執行時要求系統中要有相關的dll檔案。第三種...

在共享DLL中使用MFC 和在靜態庫中使用MFC

使用vs2008,在專案屬性中有一項mfc的使用,有三種設定 1.使用標準windows庫 2.在共享dll中使用mfc 3.在靜態庫中使用mfc 第一種顧名思義。第二種指的是打包時一些mfc的dll的內容沒有被包含在exe檔案中,所以exe檔案較小,但是執行時要求系統中要有相關的dll檔案。第三種...

共享庫和靜態庫

1.什麼是庫 在windows平台和linux平台下都大量存在著庫。本質上來說庫是一種可執行 的二進位制形式,可以被作業系統載入記憶體執行。由於windows和linux的本質不同,因此二者庫的二進位制是不相容的。本文僅限於介紹linux下的庫。2.庫的種類 linux下的庫有兩種 靜態庫和共享庫 ...