計算兩個整數的和...................................................................................
(1)定義的dll頭文件
工程名爲dllCall
頭文件名爲lib.h
#ifndef LIB_H
#define LIB_H extern "C" __declspec(dllexport) int add(int x, int y)
#endif
(2)定義的dll源文件
源文件名爲dllCall.cpp
#include "lib.h"
extern "C" __declspec(dllexport) int add(int x, int y)
{
return x + y;
}
下邊爲調用dll的例子
工程名爲dllTest
文件名爲dllTest.cpp
#include <stdio.h>
#include <windows.h>
typedef int(*lpAddFun)(int, int); //宏定義函數指針類型
int main(int argc, char *argv[])s
{
HINSTANCE hDll; //DLL句柄
lpAddFun addFun; //函數指針
hDll = LoadLibrary("D://dll//dllCall.dll"); //加載dll函數庫給hdll實例句柄
if (hDll != NULL){
//printf("aaaaaaa/n");
addFun = (lpAddFun)GetProcAddress(hDll, "add");//從hdll實例句柄中獲得add函數的執行地址分爲宏定義的函數指針
if (addFun != NULL){
//printf("/nbbbbbbb");
int result = addFun(2, 3);//執行函數指針指向的函數地址
//printf("/nccccccc");
printf("%d/n", result); //打印結果並換行
}
FreeLibrary(hDll);//釋放函數庫實例句柄s
}
return 0;
}