首页 > 学院 > 编程设计 > 正文

VS2008导出dll库以及程序调试的图文步骤

2020-06-27 15:33:47
字体:
来源:转载
供稿:网友

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

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

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

VS2008,dll,程序调试

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

VS2008,dll,程序调试

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

内容如下:


复制代码
代码如下:

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


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

VS2008,dll,程序调试

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

VS2008,dll,程序调试

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

VS2008,dll,程序调试

然后

VS2008,dll,程序调试


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

 

复制代码
代码如下:

#include <iostream>
#include <Windows.h></font></p> <p><font face="Courier New">using namespace std;</font></p> <p><font face="Courier New">int main()
{
char strBuffer[] = "Test_DLL.dll";
wchar_t dllName[20] = {0};</font></p> <p><font face="Courier New"> MultiByteToWideChar(CP_ACP, 0, strBuffer, -1, dllName, 20);</font></p> <p><font face="Courier New"> HINSTANCE hInst = ::LoadLibrary(dllName);
typedef int (*ADDPROC) (int a, int b);</font></p> <p><font face="Courier New"> ADDPROC Add = (ADDPROC) GetProcAddress(hInst, "add");</font></p> <p><font face="Courier New"> if (hInst)
{
cout << Add(3, 5) << endl;
FreeLibrary(hInst);
}
else
{
cout << "加载dll失败!" << endl;
}</font></p> <p><font face="Courier New"> return 0;
}

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

 

VS2008,dll,程序调试

2.4 调试运行

VS2008,dll,程序调试

 

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

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表