本人在几天前用VC 6.0做了一个DLL库,可是怎么也不能拿到里面函数的指针,请各位有经验的高手帮忙,先谢谢了。问题:
用VC 6.0集成开发环境NEW一个DLL Project,简单按照里面的例子做了一个函数,用dumpbin 检查该DLL,可以看到有该函数的导出;
然后再NEW一个最简单的基于对话框的Project,通过对话框上的一个Button来动态载入上面做好的DLL,具体代码如下:
HINSTANCE h = LoadLibrary("DLL Project name");
pFunction pfun = (函数指针类型转换)GetProcAddress(h,"Function name");
在用Debug跟踪该段代码运行过程中发现 h 是有正常值的,而执行到取函数指针这一步时却没有能够拿到函数指针。

解决方案 »

  1.   

    啊?有报什么错吗?有用.def吗?
      

  2.   

    你编译的时候可能没有用.def文件,函数名已经变了。
    重新编译dll吧。
      

  3.   

    声明和定义函数时,在最前面加上extern "C"试一下!
      

  4.   

    dll的输出有问题。查查声明和def文件中的定义。
      

  5.   

    你可以先用VC提供的工具DEPEND浏览一下你编写的DLL 看有没有函数接口导出 如果没有就使用楼上的意见修改你的程序 有函数就拷贝该函数名使用就可以了
      

  6.   

    如何在VS C++中使用.DEF文件,集成开发环境不会自己找该文件吗?我已经用dumpbin看过生成的dll文件了,导出的函数名是正确的,用DEPEND浏览有什么不同吗?不好意思,我的开发经验不足,请各位不吝指教。