【动态链接库】一、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最基础步骤和最基本写法做了介绍,看起来并不专业,工作中会在这个基础上优化着用,变着法的用,但是第一篇就要写的最简单,一些小点也未做解释,后面在慢慢深入写。

相关推荐
肆忆_13 小时前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星16 小时前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛2 天前
delete又未完全delete
c++
端平入洛3 天前
auto有时不auto
c++
哇哈哈20214 天前
信号量和信号
linux·c++
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
蜡笔小马4 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost
超级大福宝4 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
weiabc4 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
问好眼4 天前
《算法竞赛进阶指南》0x01 位运算-3.64位整数乘法
c++·算法·位运算·信息学奥赛