版权声明:转载需标明该文链接。https://blog.youkuaiyun.com/zaibeijixing/article/details/83747377
本文用的是vs2019,vs各版本主要功能基本一致,此方法多个版本都适用。
生成链接库的方式有两种:一种是动态链接库,一种是静态链接库。操作稍微不同。以下详细讲解动态链接库.dll的生成&调用,文末在此基础上简单讲解静态链接库.lib的生成&调用。
一、编译生成dll
【01】创建新项目
【02】建立以下.h、.cpp文件,将功能程序写进来。
(1)在<make_dll.cpp>中,写入完整的功能程序:
#include "make_dll.h"
int function_add(int a, int b)
{
int sum = a + b;
return sum;
}
(2)在<make_dll.h>中,写:
__declspec(dllexport) int function_add(int a, int b);
【03】重新生成解决方案,生成文件在中。
生成动态链接库完毕。
(动态链接库生成的.dll.lib:.dll文件中是自定义函数的具体内容,.lib文件通常是dll中函数的入口和位置索引信息。)
二、调用dll
- 创建新工程
- 新建主程序<main_use_dll.cpp>
- 把<make_dll.h>和上一阶段生成的
这三项添加到工程目录中,如下图所示:
4、在主程序<main_use_dll.cpp>中添加代码:
#include "make_dll.h"
#include "stdio.h"
int main()
{
int x = 2, y = 3;
int sum_xy = function_add(x, y);
printf("sum_xy=%d\n", sum_xy);
getchar();
}
程序运行结果:
调用成功。
动态库生成&调用完毕。
================================================
另附:静态链接库.lib生成&调用。
(静态与上述动态链接只有两处细微区别,修改即可,其余全仿照动态的。)
- 修改①:新建VS工程项目时,选择静态链接库即可,其余仿照不变,build生成后,只生成了一个.lib文件。(VS2019静态库图标如下
)
- 修改②:在调用时,添加头文件.h后,再添加这唯一的一个.lib文件即可。
版权声明:转载需标明该文链接。 https://blog.youkuaiyun.com/zaibeijixing/article/details/83747377