Visual Studio 2010 開發 DLL


Visual Studio 2010 

動態鏈接庫 (DLL) 是作為共享函數庫的可執行文件。 動態鏈接提供了一種方法,使進程可以調用不屬於其可執行代碼的函數。 函數的可執行代碼位於一個 DLL 中,該 DLL 包含一個或多個已被編譯、鏈接並與使用它們的進程分開存儲的函數。 DLL 還有助於共享數據和資源。 多個應用程序可同時訪問內存中單個 DLL 副本的內容。

動態鏈接與靜態鏈接的不同之處在於:動態鏈接允許可執行模塊(.dll 文件或 .exe 文件)僅包含在運行時定位 DLL 函數的可執行代碼所需的信息。 在靜態鏈接中,鏈接器從靜態鏈接庫獲取所有被引用的函數,並將庫同代碼一起放到可執行文件中。

使用動態鏈接代替靜態鏈接有若干優點。 DLL 節省內存,減少交換操作,節省磁盤空間,更易於升級,提供售后支持,提供擴展 MFC 庫類的機制,支持多語言程序,並使國際版本的創建輕松完成。

下列主題提供有關對 DLL 編程的詳細信息。

演練:創建和使用動態鏈接庫 (C++)

介紹如何使用 Visual Studio 創建和使用 DLL。

應用程序和 DLL 之間的區別

描述應用程序和 DLL 之間的基本區別。

使用 DLL 的優點

描述動態鏈接的優點。

DLL 常見問題

提供有關 DLL 的常見問題解答。

將可執行文件鏈接到 DLL

描述與 DLL 的顯式鏈接和隱式鏈接。

初始化 DLL

討論當 DLL 加載時必須執行的 DLL 初始化代碼(如分配內存)。

運行庫行為

描述運行庫如何執行 DLL 啟動序列。

LoadLibrary 和 AfxLoadLibrary

討論如何使用 LoadLibraryAfxLoadLibrary 顯式鏈接到 DLL。

GetProcAddress

討論如何使用 GetProcAddress 獲取 DLL 中導出函數的地址。

FreeLibrary 和 AfxFreeLibrary

討論當不再需要 DLL 模塊時如何使用 FreeLibraryAfxFreeLibrary

Windows 用來定位 DLL 的搜索路徑

描述 Windows 操作系統用來定位系統上的 DLL 的搜索路徑。

動態鏈接到 MFC 的規則 DLL 的模塊狀態

描述動態鏈接到 MFC 的規則 DLL 的模塊狀態。

擴展 DLL

解釋通常實現從現有 Microsoft 基礎類庫類派生的可重用類的 DLL。

創建純資源 DLL

討論只包含資源(如圖標、位圖、字符串和對話框等)的純資源 DLL。

MFC 應用程序中的本地化資源:附屬 DLL

提供對附屬 DLL 的增強支持,該功能有助於創建針對多種語言進行本地化的應用程序。

導入和導出

描述如何將公共符號導入應用程序或從 DLL 導出函數。

Active 技術和 DLL

使對象服務器得以在 DLL 內完全實現。

DLL 中的自動化

描述“MFC DLL 向導”中的“自動化”選項提供的內容。

MFC DLL 命名約定

討論 MFC 中包含的 DLL 和庫如何遵循結構化命名約定。

從 Visual Basic 應用程序調用 DLL 函數

描述如何從 Visual Basic 應用程序中調用 DLL 函數。

將 MFC 作為 DLL 的一部分使用

描述規則 DLL,它使您可以將 MFC 庫作為 Windows 動態鏈接庫的一部分來使用。

MFC 的 DLL 版本

描述如何將 MFCxx.dll 和 MFCxxD.dll(其中 x 是 MFC 版本號)共享動態鏈接庫用於 MFC 應用程序和擴展 DLL。

Visual C++ 編程方法

提供有關下列內容的主題鏈接:描述有關 Visual C++ 庫的概念信息和討論各種編碼技術和方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM