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隐式调用 "