本文涉及的工程在下面的链接可以下载:
http://download.csdn.net/detail/cau_eric/5602857
一、编写动态链接库dll
第一步:建立一个dll的工程。
第二步:创建头文件 dll.h
代码:
#ifndef DLL_H
#define DLL_H
extern "C" __declspec(dllexport) int add(int x,int y);
#endif
第三步:创建源文件 dll.cpp
代码:
#include "dll.h"
int add(int x,int y)
{
return x+y;
}
编译即可得到dll文件。
二、使用动态链接库dll
1、创建工程dlltest
2、创建源文件dlltest.cpp
代码如下:
#include <windows.h>
#include <stdio.h>
typedef int (*lpAddFun)(int,int);
//为了突出如何使用,这里没有处理返回错误的情况
void main()
{
lpAddFun addFun = NULL;
DWORD dw = sizeof(addFun);
HMODULE hDll = NULL;
hDll = LoadLibrary(L"..\\debug\\dll.dll"); //参数以dll所在实际位置为准
addFun = (lpAddFun)GetProcAddress(hDll,"add");
printf("2 + 3 = %d",addFun(2,3));
FreeLibrary(hDll);
_flushall();
getchar();
}
运行结果: