百度這類文章很多,但我這裏給來一個直接操作版:
第一步:新建項目:
選擇Win 32 DynamicLink Library,輸入工程名稱比如TestDll,點確定:
這裏選擇一個空的DLL工程(讓我們思路能更清晰)。
工程創建好後,裏面什麼也沒有。
點文件–新建–C/C++Header Files,輸入文件名比如TestDll.h:
點擊確定,在頭文件裏輸入如下代碼:
#ifndef TESTDLL_H
#define TESTDLL_H
#define DLL_API _declspec(dllimport)
DLL_API int testAdd(int a, int b);
#endif
文件–新建–C++SourceFile,輸入文件名如TestDll.c:
點確定後,輸入如下內容:
#include "TestDll.h"
int testAdd(int a, int b)
{
return a + b;
}
整個工作區文件一覽:
點擊組件–批組件…:
點擊創建按鈕後,打開TestDll\Release目錄,複製TestDll.dll到別的地方使用即可。當然頭文件也要給予別人,纔好開發。
我們如果用Depends.exe打開這個dll文件,可以看到導出的函數:
這樣的dll庫可供php7.4的代碼調用,前提是php7.4開啓了ffi的支持並配置了ffi.enable=true。見文章《php7.4使用FFI連接C語言的動態庫》