VS2008导出dll以及调试

欢迎加入C++编程群:光影道和  

 

一:

我们首先编译生成我们的dll;

1.1 文件-->新建-->项目:

选择 Win3-->Win32控制台应用程序

1.2 再点确定-->下一步 : 选择DLL , 空项目

1.3 完成后在本工程中添加Add.cpp文件:

内容如下:

extern "C" __declspec(dllexport) int add (int a, int b)
{
    return a + b;
}

然后编译生成dll和lib文件,默认路径是在本工程根目录下第一个Debug文件夹下。

二:创建一个测试工程,为了测试和调试最方便,我们把直接在解决方案上,单击鼠标右键-->添加-->新建项目

然后选择 win32-->win32控制台应用程序-->空项目

然后

2.2 完了往工程添加一个Test.CPP内容如下

#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
    char strBuffer[] = "Test_DLL.dll";
    wchar_t dllName[20] = {0};

    MultiByteToWideChar(CP_ACP, 0, strBuffer, -1, dllName, 20);

    HINSTANCE hInst = ::LoadLibrary(dllName);
    typedef int (*ADDPROC) (int a, int b);

    ADDPROC Add = (ADDPROC) GetProcAddress(hInst, "add");

    if (hInst)
    {
        cout << Add(3, 5) << endl;
        FreeLibrary(hInst);
    }
    else
    {
        cout << "加载dll失败!" << endl;
    }

    return 0;
}

2.3 在工程Test右键-->设置为启动项,这样我们就能启动Test来测试我们编译的dll了 ^_^

2.4 调试运行

 

注:当要调试dll中的函数时,就在改函数所在行设置一个断点,然后让程序执行到该行,按F11跟进去就能看到在dll中的执行过程了。。

。。。

posted @ 2013-04-25 11:20  放逐²º¹²  阅读(229)  评论(0编辑  收藏  举报