在解决方案资源管理器中源文件下新建def文件,格式如下:
LIBRARY
EXPORTS
functionname
在cpp文件中写要导出的函数,在.h文件中写函数声明,应用时包含头文件就可以替代声明。
动态加载dll不需要设置vc包含目录、库目录和链接依赖,动态加载dll示例代码:
HINSTANCE hdll;
hdll=LoadLibrary("dll1.dll");//加载dll
typedef int ( *ADDPROC)(int a,int b);//定义函数指针ADDRPROC
ADDPROC padd=(ADDPROC)GetProcAddress(hdll,"add");//检索dll中EXPORTS函数
if(!padd)
{
MessageBox("获取函数地址失败!");
return;
}
CString str;
str.Format("5+3=%d",padd(5,3));
MessageBox(str);
FreeLibrary(hdll);//减少被加载的dll引用计数,计数变为零时,该dll模块将从调用进程的地址空间卸载。