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

相关推荐
fpcc7 分钟前
跟我学C++中级篇—std::conjunction手动实现
c++
项目題供诗10 分钟前
C语言基础(三)
c语言·c++
1***438028 分钟前
C++跨平台开发的核心挑战线程管理等基础功能
开发语言·c++
txinyu的博客1 小时前
C++ 智能指针 (shared_ptr/weak_ptr) 全解析
开发语言·c++
小徐不徐说1 小时前
避坑指南:Qt 中 Lambda 表达式崩溃原因与高效使用实践
数据库·c++·qt·面试
寻星探路1 小时前
【算法进阶】滑动窗口与前缀和:从“和为 K”到“最小覆盖子串”的极限挑战
java·开发语言·c++·人工智能·python·算法·ai
txinyu的博客2 小时前
C++ 模板元编程 (TMP)
开发语言·c++
dragoooon342 小时前
C++ 从零实现Json-Rpc 框架
开发语言·c++·rpc
三万棵雪松2 小时前
【AI小智硬件程序(八)】
c++·人工智能·嵌入式·esp32·ai小智
王老师青少年编程2 小时前
2025年12月GESP真题及题解(C++七级): 学习小组
c++·gesp·csp·信奥赛·七级·csp-s·提高组