動態鏈結庫(dll)是從c語言函式庫和pascal庫單元的概念發展而來的。所有的c語言標準庫函式都存放在某一函式庫中。在鏈結應用程式的過程中,鏈結器從庫檔案中拷貝程式呼叫的函式**,並把這些函式**新增到可執行檔案中。這種方法同只把函式儲存在已編譯的obj檔案中相比更有利於**的重用。但隨著windows這樣的多工環境的出現,函式庫的方法顯得過於累贅。如果為了完成螢幕輸出、訊息處理、記憶體管理、對話方塊等操作,每個程式都不得不擁有自己的函式,那麼windows程式將變得非常龐大。windows的發展要求允許同時執行的幾個程式共享一組函式的單一拷貝。動態鏈結庫就是在這種情況下出現的。動態鏈結庫不用重複編譯或鏈結,一旦裝入記憶體,dll函式可以被系統中的任何正在執行的應用程式軟體所使用,而不必再將dll函式的另一拷貝裝入記憶體。
一.新建工程(win32控制台專案)->選擇dll -> 空專案
二. 新增新建項 選擇標頭檔案->mathdll.h 再次新增新建項 選擇cpp檔案->math.cpp(最好是在標頭檔案右鍵和原始檔右鍵分別新增)
三. 下面開始編寫**
mathdll.h:
#ifndef _math_define
#define _math_define
#ifndef math_export
#define math_api _declspec(dllexport)
#else
#define math_api _declspec(dllimport)
#endif
extern "c"
#endif
這裡需要注意max_export,因為是要設定dll匯出函式,所以要選擇dllexport,確保工程->屬性->c/c++->預處理器裡面有這個巨集定義,不然就變成了dll匯入了
mathdll.cpp:
#include "mathdll.h"
int add(int para1,int para2)
int max(int para1,int para2)
重新生成解決方案,就能看見工程下面生成了*.lib檔案和*.dll檔案了
完成
C 如何建立和呼叫DLL
c 如何建立和呼叫dll 載 一 寫在前面 c 語言是一種簡單但功能強大的程式語言,用於編寫企業應用程式。c 語言從c和 c 語言演化而來,在語句 表示式和運算子方面使用了許多 c 功能。c 語言在型別安全性 版本轉換 事件和垃圾 等方面進行了相當大的改進和創新。c 語言提供對常用 api 樣式 如...
動態建立 DLL
serializable public sealed class proxycreateobjectclass marshalbyrefobject public override object initializelifetimeservice ilease lease ilease base.i...
建立dll教程
先看我的總結 總結 1.標頭檔案中如果想以c形式提供,要判斷,如果定義了 cplusplus,extern c 2.介面宣告中,要表明介面接入點的方式,stdcall 3.記得建立定義檔案,檔案中指明了dll對外提供了哪些介面 4.新增資源檔案,新增資源檔案的方式。資源檔案的作用 5.生成dll的時...