【动态链接库】一、VS下基本制作与使用

文章目录


前言

工作中参与了几个多工程项目,多工程基本都是生成的动态库,自己只是在工程内部写写函数实现做做需求,对整个工程的把握太差,接下来从最基础最简单制作dll以及其他工程引入做个记录,今天先写个最基础的


一、制作DLL

  • 1、打开vs建立一个空项目
  • 2、输入项目名称及位置
  • 3、修改项目属性,把配置类型改为动态库(.dll)
  • 4、添加add.h add.cpp文件,并添加下面代码
c 复制代码
#pragma once
extern "C" _declspec(dllexport) int add(int a, int b);
c 复制代码
#include "add.h"
extern "C" _declspec(dllexport) int add(int a, int b)
{
	return a + b;
}
  • 5、点击生成即可在工程文件夹下面生成对应的文件如下

二、调用DLL

  • 1、创建一个空项目,添加一个源文件添加下面代码
c 复制代码
#include <iostream>
extern "C" _declspec(dllimport) int add(int a, int b);
int main() 
{
	int result = add(3, 5);
	std::cout << result << std::endl;
	return 0;
}
  • 2.配置项目属性
    在库目录或者附加库目录中选择第一步生成的lib文件所在目录



    在链接器-输入-附加依赖项中输入.lib文件全名
  • 3、拷贝dll文件
    把第一步生成的exportDLL.dll文件拷贝到可执行文件目录或者 工作目录

生成的可执行文件目录很好找如下

工作目录查看如下

项目右键 → 属性 → 配置属性 → 调试 → 工作目录

这个目录看起来就是这个main.cpp目录,经测试放在这里也是可行的


总结

提示:这里对文章进行总结:

只对vs中制作和调用DLL最基础步骤和最基本写法做了介绍,看起来并不专业,工作中会在这个基础上优化着用,变着法的用,但是第一篇就要写的最简单,一些小点也未做解释,后面在慢慢深入写。

相关推荐
王老师青少年编程15 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮15 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
样例过了就是过了17 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
谭欣辰17 小时前
C++ 排列组合完整指南
开发语言·c++·算法
橙子也要努力变强18 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++
盐焗鹌鹑蛋18 小时前
【C++】stack和queue类
c++
郝学胜-神的一滴19 小时前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal
lzh2004091919 小时前
深入理解进程:从PCB内核结构到写时拷贝的底层实战
linux·c++
aseity19 小时前
跨平台项目中QString 与 非Qt 跨平台动态库在字符集上的一个实用的互操作约定.
c++·经验分享
CN-Dust20 小时前
【C++】while语句例题专题
数据结构·c++·算法