获取DLL函数地址失败
本帖最后由 jiangsheng 于 2010-04-27 04:19:40 编辑 把.dll文件复制到工程目录下面,编写如下代码:
void CTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
HINSTANCE hInst;
hInst=LoadLibrary("Dll2.dll");
typedef int (*ADDPROC)(int a,int b);
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
if(!Add)
{
MessageBox("获取函数地址失败!");
return;
}
CString str;
str.Format("5+3=%d",Add(5,3));
MessageBox(str);
}
运行时单击按钮提示获取函数地址失败!
还有一个问题哈:大侠一起解决一下咯:
在命令提示符里输入Dumpbin,提示:
Dumpbin不是内部或外部命令,也不是可运行的程序或批处理文件
运行vcvars32.bat文件后,出现错误如上,
[解决办法]
.lib文件添加了吗?
[解决办法]
不是LIB问题
也不需要LIB
你查看导出的函数的原型是什么呢
你可以用工具Depends查看
函数名称
[解决办法]
Dumpbin不是内部或外部命令,也不是可运行的程序或批处理文件
没有设置系统路径
我如果没有猜错
你应该是看孙鑫老师的教程
你按他给你说的方法做
注册系统路径
[解决办法]
是LoadLibrary失败?
调试运行吗?
[解决办法]