(1)新建项目--->win32控制台应用程序,输入项目名称,例如“dllTest”,点击确定; (2)点击下一步: (3)在出现的应用程序设置中,选择DLL(默认为控制台应用程序),如图所示: (4)点击完成,之后,就可以写你的库接口代码了。 (5)这个时候,你会发现项目中出现了一个dllTest.cpp的文件,该文件的第一条语句,是这样的:#include "stdafx.h"。Stdafx.h是visual studio的预编译头文件,主要是为了加快编译的速度。为了让代码有更好的跨平台编译能力,我建议去除该选项。Stdafx.h预编译选项的去除是这样的,依次点击:dllTest(即,当前项目)-->属性-->c/c++-->预编译头, 如下图所示: 或许,你已经发现了,“创建/使用预编译头”的属性为“使用预编译头(/Yu)”,这里,只需用将该属性修改为"不使用预编译头"即可。如下图所示: 之后,点击“应用”,“确定”。这样,你就取消了VS2008默认的预编译选项。 (6)接着,我们来定义接口。在这里,我打算定义一个类CDllTest,该类只有一个函数,int Sum(int a, int b);完成加法运算。参考代码如下所示:
(7)代码写完了,接着就是编译了,选择debug模式或者release模式都可以。不过,如果是要发布,最好选择release模式。需要提醒的是,vs2008默认是生成.dll文件,也就是所谓的动态链接库(dll, dynamic link library)。如果你需要编译静态链接库,只需要设置一下,重新编译就可以了。设置方法是:项目-->属性-->常规, 这里,将配置类型从动态库(.dll)改为静态库(.lib)即可 默认为动态库: 修改为动态库: 修改之后,重新编译,就生成了dllTest.lib这个静态库文件了。 (8)接下来,我们再建立一个win32控制台应用程序,来验证刚才生成的lib静态库是否可以正常工作。首先,建立一个名为TestForDllTest的工程,然后,依次选择,项目-->属性-->链接器-->输入, 在其中的附加依赖项属性中,填入dllTest.lib,如下图所示: (9)点击确定,之后,把刚才dllTest工程中生成的dllTest.lib和dllTest.h文件拷贝到当前目录。这样,你就可以测试刚才生成的那个dllTest.lib是否可以正常运行了。这里不妨给出一个参考测试程序:
|
|