如果選擇use MFC in a Shared DLL 的話,你編譯後的程序中不包含MFC庫,所以文件會比較小,但是如果你的程序直接移到一個沒有安裝過MFC的機器上時,可能會導致找不到MFC的DLL。
如果選擇Use MFC in a Static Library ,那你編譯後的程序就直接包含了調用MFC的部分的庫,文件可能會大一些,但是可以直接移到其他機器上運行。
前者是動態連接,發佈要帶MFC得DLL文件。
後者是靜態鏈接,發佈不用帶MFC的DLL文件。
如果可執行文件只有一個,使用前者,執行速度快,但文件比較大。
如果可執行文件多個,使用後者,因爲DLL文件是共享的,所以文件體積總量減少。
單個文件也小。加載執行塊,但運行速度略比前者慢。
used in a static library:
使用lib文件。lib是已經編譯好的二進制文件,可以與你的工程靜態鏈接起來成爲一個exe。
used in a shared dll:
使用dll文件,函數實現隱藏在DLL文件內部,你的工程編譯成exe文件後,運行時才調用dll 。