程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> VC 6.0支持的三種dll

VC 6.0支持的三種dll

編輯:關於VC++

Non-MFC Dlls(非MFC dll);指的是不用MFC的類庫結構,直接用C語言寫的DLL,其輸出函數一般是標准的C接口,能被非MFC和MFC編寫的應用程序調用。可以用“Win32 應用程序向導”創建非 MFC DLL 項目。

Regular Dlls(MFC正規DLL),使用“MFC DLL 向導”創建,又分為靜態鏈接和動態鏈接兩種。

Extension Dlls(MFC擴展DLL),使用“MFC DLL 向導”創建,始終動態鏈接MFC。

下面來自MSDN--確定要使用的dll的類型

如果 DLL 要使用 MFC,且將由 MFC 或非 MFC 應用程序使用,則必須生成動態鏈接到 MFC 的規則 DLL 或靜態鏈接到 MFC 的規則 DLL。大部分情況下可能需要使用動態鏈接到 MFC 的規則 DLL,因為這種 DLL 的文件大小要小得多,且使用共享 MFC 版本會節省大量內存。如果是靜態鏈接到 MFC,則由於 DLL 會加載自己的私有 MFC 庫代碼副本,DLL 的文件大小會較大,且有可能占用額外的內存。

生成動態鏈接到 MFC 的 DLL 要比生成靜態鏈接到 MFC 的 DLL 快,因為前者不需鏈接 MFC 本身。在鏈接器必須壓縮調試信息的調試版本中尤其如此。通過與已經包含調試信息的 DLL 鏈接,DLL 中將只有很少的調試信息需要壓縮。

動態鏈接到 MFC 的一個缺點是必須用 DLL 發布共享 DLL:MFCx0.DLL 和 MSVCRT.DLL(或類似的文件)。MFC DLL 可隨便重新發布,但仍必須在安裝程序中安裝 DLL。另外必須交付 MSVCRT.DLL,它包含程序和 MFC DLL 本身都要使用的 C 運行時庫。

如果 DLL 僅由 MFC 可執行文件使用,則可以選擇生成規則 DLL 或擴展 DLL。如果 DLL 實現從現有 MFC 類派生的可重用類,或如果需要在應用程序和 DLL 之間傳遞 MFC 派生的對象,則必須生成擴展 DLL。

如果 DLL 動態鏈接到 MFC,則可能要用 DLL 重新發布 MFC DLL。當在多個可執行文件之間共享類庫以節省磁盤空間和最小化內存使用時,此結構尤其有用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved