• 3287阅读
  • 0回复

DLL到底怎么玩!!! [复制链接]

上一主题 下一主题
离线woshishei052
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-10
这个推荐一款小工具 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重新编辑 ]
快速回复
限100 字节
 
上一个 下一个