C 生成DLL匯出函式的小demo

2021-06-21 22:15:30 字數 1389 閱讀 8675

一、建立dll

1.生成dll檔案,匯出函式,一般有兩種方法,一種是在函式宣告前面加上__declspec(dllexport),另一種是用def檔案來動態匯出函式。這篇寫乙個用def匯出函式的小demo。

2.建立makedll檔案。

(1).makedll.h

#define mathfuncsdll_exports

#ifdef mathfuncsdll_exports

#define mathfuncsdll_api __declspec(dllexport)

#else

#define mathfuncsdll_api __declspec(dllimport)

#endif

extern "c"

makedll.cpp

#includeextern "c"

mathfuncsdll_api int add(int c, int d)

}

3.然後在選單欄選擇「專案」——「新增新項」——vc++節點中的**——模組定義檔案(.def),輸入def檔名,我輸入的makedll.def確定。

makedll.def檔案內容如下:

library makedll

exports

multiply

addlibrary 後面是要生成的dll檔名,exports下面是要匯出的函式的名字(只有名字)

4.生成解決方案。

二、使用dll

1.新建專案usedll,來呼叫匯出的函式。

2.將專案makedll生成的makedll.dll拷入usedll專案中,

3.main.cpp

#include#includeusing namespace std;

typedef int(*add)(int a,int b);

typedef int(*multiply)(int a, int b);

int main()

add add;

multiply multiply;

add = (add)::getprocaddress(hm, "add");

if (add == null)

multiply = (multiply)::getprocaddress(hm, "multiply");

cout << add(1,3) << endl;

cout << multiply(2, 4) << endl;

::freelibrary(hm);

return 0;

}

執行搞定。

讓VB生成的DLL工程匯出函式

vb是方便的快速開發語言之一,但是vb和最近流行的python相比,有一致使的缺點,就是它為了盡可能方便程式設計師傻瓜式開發,而把自己封閉在一圈子裡了,遮蔽了很多特性,比如用vb建立com元件是超級簡單,可惜若要自己加點東西,實存太麻煩了,比如我要讓dll匯出我自己的函式,用vb預設就做不到。剛好這...

檢視dll的匯出函式

以下摘自msdn 選項由選項說明符 短劃線 或者正斜槓 後跟選項的名稱組成。選項名不能縮寫。某些選項帶引數,引數在冒號 後指定。在選項規範內不允許有空格或製表符。使用乙個或多個空格或製表符來分隔命令列中的選項規範。選項名及其關鍵字或檔名引數不區分大小寫。大多數選項適用於所有二進位制檔案 少數選項僅適...

c 生成DLL檔案之靜態匯出方式

關於建立動態鏈結庫檔案,並在程式執行過程中連線呼叫,我是這麼理解的 這篇文章基本是屬於入門文件。首先要生成乙個dll檔案和lib檔案,才能夠供給其他程式動態呼叫或者靜態呼叫。這篇日誌是關於動態呼叫的 接下來是總結的一些具體步驟 1.新建專案,win32,win32專案,輸入專案名稱,例如 maked...