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

相关推荐
liulilittle1 小时前
C++ 17 字符串填充函数(PaddingLeft、PaddingRight)填充左侧、右侧。
c++·算法
AuroraWanderll1 小时前
深入理解C++多态(三):多态的原理——虚函数表机制(上)
c语言·开发语言·数据结构·c++·算法·stl
阿沁QWQ1 小时前
STL库vector模拟实现
开发语言·c++
Fcy6482 小时前
C++ 模版(进阶)(含array解析)
开发语言·c++·stl·array·模版
Minecraft红客2 小时前
复原大唐3d更新版本
c++·游戏·3d·娱乐
OKkankan2 小时前
多态概念及使用
开发语言·数据结构·c++·算法
jyan_敬言3 小时前
【Docker】Kubernetes部署容器化应用程序
c++·笔记·其他·docker·容器·kubernetes·学习方法
code bean3 小时前
【C++】全局函数和全局变量
开发语言·c++·c#
北冥湖畔的燕雀3 小时前
二叉搜索树:高效查找与删除的实现
数据结构·c++·算法
神仙别闹3 小时前
基于C++实现(控制台)应用二维矩阵完成矩阵运算
开发语言·c++·矩阵