刚开始学lib,dll,很多都不会,下面这个是我写的一个简单的例子。工程是DLL的。.cpp文件
#include <string>
#include <iostream>
using namespace std;
string out()
{
return "abc";
}
.h文件_declspec(dllexport) string out();这样之后编译生成了一个.dll文件,要怎么用呢??
在其他程序里用的时候需要.lib,可是debug里没有见到.lib文件,怎么回事呢??刚开始学,问题过于白痴的话,请大家别笑,谢谢啦~~~

解决方案 »

  1.   

    你的DLL写的有问题.解决方法如下:
    函数string out()前面应该回_declspec(dllexport).而有文件加_declspec(dllimport)就OK了.
    调用DLL有两种方式.隐式调用和显示调用.
      

  2.   

    google dll 隐式调用和显示调用 查找分也太少了
      

  3.   

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

  4.   

    用CLASS WIZARD里WIN32里有个EXPORT SYMBOL里面是标准的写法 你看下就懂了
      

  5.   

    你在msdn里面看到的很多函数都是通过dll调用的,使用的时候要加上包含这个函数的lib库