我们首先编译生成我们的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></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了 ^_^
2.4 调试运行
注:当要调试dll中的函数时,就在改函数所在行设置一个断点,然后让程序执行到该行,按F11跟进去就能看到在dll中的执行过程了。