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

相关推荐
2301_763472467 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!7 小时前
【C++】std::promise原理与实战解析
c++
m0_706653238 小时前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan8 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆8 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx8 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
阿猿收手吧!9 小时前
【C++】string_view:高效字符串处理指南
开发语言·c++
Word码9 小时前
[C++语法] 继承 (用法详解)
java·jvm·c++
lxl130710 小时前
C++算法(1)双指针
开发语言·c++
淀粉肠kk10 小时前
C++11列表初始化:{}的革命性进化
c++