创建和使用动态库 使用def文件

打开vs2013 ,文件-新建,取一个名字

创建和使用动态库 使用def文件

我们这里创建一个空的项目吧

创建和使用动态库 使用def文件

添加头文件MyDll.h

创建和使用动态库 使用def文件

源文件

创建和使用动态库 使用def文件

建立源文件dllmain.cpp,要包含window.h文件,这个是vs2013自动生成的,但是你在建立项目的时候,选择了空项目,所以就没有,如果没选择空项目就会有这个文件,但是他会包含很多的其他的依赖文件,这里都去除了,我们是要生成一个纯净的动态库,

创建和使用动态库 使用def文件

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE hModule,
    DWORD  ul_reason_for_call,
    LPVOID lpReserved
    )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

建立source.def

创建和使用动态库 使用def文件

在此文件第一行引号中填项目名称就好了,EXPORTS下面表示要生成的函数名称 格式:“名称 @序号”)

创建和使用动态库 使用def文件

生成解决方案,发现该项目目录下的Debug下生成了文件  dll   lib

创建和使用动态库 使用def文件

  

2   项目调用库文件的用法

 以同样的方式生成项目,但这次不是选择dll了,控制台程序

创建和使用动态库 使用def文件

将上面项目的头文件和生成的库文件复制到该项目来

创建和使用动态库 使用def文件

建立自己的源文件UseDll.cpp  内容是

创建和使用动态库 使用def文件

有时候需要经文件包含的目录和库文件添加进来

创建和使用动态库 使用def文件

运行

创建和使用动态库 使用def文件

测试成功了

如果我在库文件中这样写

创建和使用动态库 使用def文件

生成的库文件再拿过来

创建和使用动态库 使用def文件