創建MFC對話框程序時,使用MFC有兩個選項:
- 在共享DLL中使用MFC
- 在靜態庫中使用MFC
在共享DLL中使用MFC
在共享DLL中使用MFC指:打包時,一些MFC的DLL的內容沒有被包含在程序的EXE文件中,所以EXE文件較小,但是運行時要求系統中要有相關的DLL文件。
在靜態庫中使用MFC
在靜態庫中使用MFC 指:將DLL對應的lib靜態庫中的相關代碼硬編碼到EXE文件中,文件較大,但是可以在沒有已經被包含DLL的機器上運行,可移植性好。當然即使如此也並非所有的DLL都會將其硬編碼到Exe中,因此仍然某些DLL是必須的,比如Redistributable Package中的某些DLL。
個人建議:在開發階段的程序選第2種較好,先不考慮程序大小以及效率,等後期打包的時候用spy等其他工具來偵測DLL等。