计算两个整数的和...................................................................................
(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;
}