首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DLL使用有关问题

2012-03-27 
DLL使用问题刚开始学lib,dll,很多都不会,下面这个是我写的一个简单的例子。工程是DLL的。.cpp文件#includes

DLL使用问题
刚开始学lib,dll,很多都不会,下面这个是我写的一个简单的例子。工程是DLL的。

.cpp文件
#include   <string>
#include   <iostream>
using   namespace   std;
string   out()
{
return   "abc ";
}


.h文件

_declspec(dllexport)   string   out();

这样之后编译生成了一个.dll文件,要怎么用呢??
在其他程序里用的时候需要.lib,可是debug里没有见到.lib文件,怎么回事呢??

刚开始学,问题过于白痴的话,请大家别笑,谢谢啦~~~

[解决办法]
dll文件中要这样声明
_declspec (dllexport) string out();

生成dll.dll

在exe文件中用HMODULE hdll = LoadLibrary(TEXT( "dll.dll "));导入dll。
再用string *proc() = GetProcAddress(hdll,TEXT( "out "));得到out函数首地址。
proc();就可一执行dll中的out()了;
最后用FreeLibrary(hdll);卸载dll释放空间。
这是显式调用。

至于隐式调用变化比较多,建议google一下 "dll隐式调用 "

热点排行