DLL的创建

如果想导出一个全局函数,就用关键字来声明__declspec(dllexport),如__declspec(dllexport) int Add(int a, int b) { return a + b; }

项目需要设置:

  1. 取消“预编译头文件”
  2. 修改为/MTd编译
  3. 修改输出的DLL的名字

编译可得xx.dll和xx.lib,其中
xx.dll包含所有的代码编译成的指令
xx.lib包含一个列表,表明xx.dll中含有哪些符号及每个符号对应在dll中的位置。

在项目中使用DLL

使用库#pragma comment(lib, "xx.lib")
声明需要导入的项目__declspec(dllimport) int Add(int a, int b);

DLL的部署位置

程序运行时,xx.dll会被操作系统自动加载,以下是DLL能被OS找到的位置:

  1. 可执行文件所在目录
  2. 进程当前目录
  3. 系统目录(C:\Windows\System32等)
  4. Windows目录(C:\Windows)
  5. 环境变量PATH中的目录

你可能感兴趣的:(DLL的创建)