这个推荐一款小工具 viewdll.exe 。实例代码和工具下面提供下载。将DLL文件直接拖过去,就直接显示DLL里的函数名。当然也不是所有DLL都能显示。
用QT生成DLL,我目前只学会了一种方法,直接导出函数的方法。
用QTcreator dll向导建立工程。把所有.H文件删除,在唯一的.CPP文件中编写你所要导出的函数,函数模版
extern "C" __declspec(dllexport) int ShowMessageBox()
{
char *str = "this is Dll";
cout<<str;
return 0;
}
直接编译后,生成DLL文件。
将dll文件拷贝到你要使用的exe工程中。这里我的EXE使用的是core类型,没有使用GUI。
在新工程的cpp文件中加入
QLibrary myLib("ClassDll.dll");//加载你的dll文件
typedef void (*MyPrototype)();
MyPrototype myFunction = (MyPrototype) myLib.resolve("ClassDll");//CLASSDLL是你的函数名
if (myFunction)
myFunction();//调用你的classdll,也就是你的函数
注意这几行中你需要改的地方只有我加注释的地方。其他不用改!!!
还有就是dll导出类的方法,希望知道的友友,分享之。
原文转载自:
http://www.veryodd.cn/bo-blog/read.php?30[ 此帖被woshishei052在2009-08-10 18:35重新编辑 ]