VS2008导出dll以及调试
一:
我们首先编译生成我们的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中的执行过程了。。
。。。