1. 创建项目
    1. 新建项目-> 选择Win32项目
    1. 输入项目名称,点击确定。在程序向导中选择下一步
    1. 选择DLL. 由于我想创建的是相对独立的DLL,所以不选择ATL和MFC. 点击完成。
  2. Main文件分析。
    VS2008中生成DLL项目_创建项目
    打开dllmain.cpp文件,这是DLL的入口文件,在这个文件里,可以在进程或者线程加载此文件时进行一些自己额外的处理。
  3. 添加自己的类。

    1. 右键点击项目,选择新建->类。
      VS2008中生成DLL项目_命名空间_02
    2. 点击添加按钮。
      VS2008中生成DLL项目_命名空间_03
    3. 输入类名,会自动生成.h文件和.cpp文件名。点击完成按钮。
      VS2008中生成DLL项目_新建项目_04
    4. 打开MyClass1.h, 在类的外面添加自己的命名空间,这样可以更好的区分不同的功能,可以使类库写的很大,并且使用的时候不易混淆。
      VS2008中生成DLL项目_命名空间_05
    5. 在类定义的前面加入如下的代码:
      VS2008中生成DLL项目_自动生成_06
       
      加入如下的代码后,以后在项目内方法的前面加上TESTDLL_API修饰符,就可以在引用该DLL的项目中调用这个方法。
      TESTDLL_EXPORTS这个配置是在创建DLL项目的时候由VS自动创建的,如果改了项目的名字,这个配置不会自动更改,要自己改过来。
      VS2008中生成DLL项目_命名空间_07
       
    6. 在MyClass1.h中加入一个方法的声明。
      VS2008中生成DLL项目_修饰符_08
    7. 打开MyClass1.cpp,加上命名空间。
      VS2008中生成DLL项目_修饰符_09
    8. 为自己的方法添加定义。
      VS2008中生成DLL项目_修饰符_10

  4. 编译之后,这个DLL就可以用了。
  5. 创建项目使用DLL.

    1. 创建一个控制台程序。
      VS2008中生成DLL项目_修饰符_11
    2. 点击下一步。
      VS2008中生成DLL项目_命名空间_12
    3. 点击完成。
      VS2008中生成DLL项目_创建项目_13
    4. 右击项目,在"框架和引用"中点击"添加引用"
      VS2008中生成DLL项目_命名空间_14
    5. 选择DLL项目。点击确定。
      VS2008中生成DLL项目_创建项目_15
    6. 点击OK.
      VS2008中生成DLL项目_命名空间_16
       
    7. 添加附加目录。
      VS2008中生成DLL项目_修饰符_17
      这个目录是TestDll.h所在的目录,加入这个配置后,在项目中用#include "MyClass1.h"就可以找到了。
    8. 打开控制台项目的入口文件。引入DLL项目内的头文件。
      VS2008中生成DLL项目_创建项目_18
       
    9. 加入如下的代码,调用DLL的中的方法。
      VS2008中生成DLL项目_创建项目_19
    10. 编译完成后,运行程序。
      VS2008中生成DLL项目_新建项目_20
       


注:


  1. 这个例子中,DLL中定义的方法,输入"this is a test",返回3,这个只是个例子,具体的转换逻辑还要自己写。
  2. 如果要把编译后的DLL方法别的地方使用,需要把MyClass1.h和TestDll.lib拷贝到使用的项目的根目录下,放到别的目录下也可以,但是需要像步骤4.7那样添加.h文件所在的路径。同时需要拷贝TestDll.dll到使用的项目的Debug或者Release目录下去。
  3. 注2说的是只是调用DLL的一种方法,其他的调用方式可以参见这篇文章: