如何在visual studio中 生成 并 使用dll和lib文件
因为工作需求,要写lib和dll给别人使用。
使用visual studio2022
以函数
int getmyset() { return 0;}
为例子
首先
点击打开 visual studio 文件->新建->项目

选择windows桌面向导

选择应用程序类型为动态链接库.dll

分别创建MyDLL.h和MyDLL.cpp文件,点击添加 新建项


依葫芦画瓢,在源文件里创建MyDLL.cpp

Mydll.h的代码如下

#pragma once
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endifextern "C" MYDLL_API int getmyset();
MyDll.cpp的代码如下

#include "MyDLL.h"
int getmyset() {return 0;
}
点击生成解决方案

如果一切正常的话,会显示生成正常,并且显示出生成的dll和lib所在文件夹

打开文件夹地址,下面就是生成的lib和dll文件

下一步,怎么使用生成的dll和lib
首先新创建一个项目

选择创建

创建新项目如下

头文件点击添加

选择添加刚才的头文件.h


再然后
配置项目
-
在新项目中,右键点击项目,选择“属性”。
-
配置VC++目录:
-
包含目录:添加DLL头文件所在路径。
-
库目录:添加.lib文件所在路径。
-


在链接器设置中,添加.lib文件:
-
链接器 -> 输入 -> 附加依赖项:添加
Project3.lib。

在项目中调用 getmyset()函数

注意,如果MyDLL.h泛红 提示无法打开.h文件
配置导入头文件包含目录,点击项目->属性

包含目录里加上 头文件的地址

在点击调试->环境里加上 dll所在的文件路径

我的dll文件是在C:\Users\31922\source\repos\Project3\Project3\x64\Debug中,所以填入
PATH=$(PATH);C:\Users\31922\source\repos\Project3\Project3\x64\Debug

点击开始调试

结果如下

成功运行getmyset()函数
相关文章:
如何在visual studio中 生成 并 使用dll和lib文件
因为工作需求,要写lib和dll给别人使用。 使用visual studio2022 以函数 int getmyset() { return 0;} 为例子 首先 点击打开 visual studio 文件->新建->项目 选择windows桌面向导 选择应用程序类型为动态链接库.dll 分别创建MyDLL.h和MyDLL.cpp文件&a…...
「Mac畅玩鸿蒙与硬件15」鸿蒙UI组件篇5 - Slider 和 Progress 组件
Slider 和 Progress 是鸿蒙系统中的常用 UI 组件。Slider 控制数值输入,如音量调节;Progress 显示任务的完成状态,如下载进度。本文通过代码示例展示如何使用这些组件,并涵盖 进度条类型介绍、节流优化、状态同步 和 定时器动态更新。 关键词 Slider 组件Progress 组件节流…...
Iceoryx2:高性能进程间通信框架(中间件)
文章目录 0. 引言1. 主要改进2. Iceoryx2 的架构3. C示例代码3.1 发布者示例(publisher.cpp)3.2 订阅者示例(subscriber.cpp) 4. 机制比较5. 架构比较6. Iceoryx vs Iceoryx2参考资料 0. 引言 Iceoryx2 是一个基于 Rust 实现的开…...
构 造 器
我们创建了一个对象,在其中定义了属性,new一个对象,然后设置对应的属性,但是我们可以在new对象的时候,同时传入我们要设置的属性,这个时候就需要构造器。 特点 构造方法是一个特殊的成员方法,…...
草莓叶片病害识别与分类数据集(猫脸码客 第234期)
草莓叶片病害识别与分类数据集 草莓作为一种重要的经济作物,在全球范围内广泛种植。然而,草莓生产过程中常常受到各种病害的困扰,其中叶片病害尤为严重。为了有效识别、检测和分类草莓叶片病害,构建一个高质量的数据集是至关重要…...
微服务设计模式 - 断路器模式 (Circuit Breaker Pattern)
微服务设计模式 - 断路器模式 (Circuit Breaker Pattern) 定义 断路器模式(Circuit Breaker Pattern)是云计算和微服务架构中的一种保护性设计模式,其目的是避免系统中的调用链出现故障时,导致系统瘫痪。通过断路器模式ÿ…...
HarmonyOS NEXT 应用开发实战(九、知乎日报项目详情页实现详细介绍)
在本篇博文中,我们将探讨如何使用 HarmonyOS Next 框架开发一个知乎日报的详情页,逐步介绍所用到的组件及代码实现。知乎日报是个小巧完整的小项目,这是一个循序渐进的过程,适合初学者和有一定开发经验的工程师参考。 1. 项目背景…...
lvgl 模拟器移植(V9)
1.模拟器代码下载 1.1:通过git 下载 github链接:GitHub - lvgl/lv_port_pc_visual_studio: Visual Studio projects for LVGL embedded graphics library. Recommended on Windows. Linux support with Wayland is work in progress.https://github.com…...
基于vue+neo4j 的中药方剂知识图谱可视化系统
前言 历时一周时间,中药大数据R02系统中药开发完毕,该系统通过scrapy工程获取中药数据,使用python pandas预处理数据生成知识图谱和其他相关数据,利用vuespringbootneo4jmysql 开发系统,具体功能请看本文介绍。 简要…...
(自用)机器学习python代码相关笔记
一些自存的机器学习函数和详细方法记录,欢迎指错。 前言:读取数据方法 import pandas as pd import pandas as pddf pd.read_csv(数据集.csv, header0) # header是从哪一行开始读起,一般是0,也可以取infer 一、数据处理&#…...
docker复现pytorch_cyclegan
1、安装docker 配置docker镜像 添加镜像源至docker engine 2、wsl2安装nvidia-docker 要在Ubuntu中安装NVIDIA Docker,需要满足以下条件: 确保主机已安装NVIDIA的CUDA驱动程序,并使用适用于您操作系统的正确版本。 wsl --update在Ubuntu…...
IDEA2024下安装kubernetes插件并配置进行使用
【1】安装插件 其实2024.2.3下默认已经安装了kubernetes插件,如果你发现自己IDEA中没有,在市场里面检索并下载即可。 【2】kubernetes配置 ① 前置工作 首先你要准备一个config文件和一个kubectl.exe 。 config文件类似如下: apiVersi…...
理解原子变量之二:从volatile到内存序-进一步的认识
目录 实例1 实例2 实例3 内存序中两个最重要的概念 补记 结论 实例1 看下面的例子:在vs2013中建立如下工程: #include <thread> #include <iostream> #include <chrono>bool done false;void worker(){std::this_thread::sle…...
DICOM标准:MR图像模块属性详解——磁共振成像(MR)在DICOM中的应用
目录 引言 磁共振成像(MR) 一、MR图像模块 二、MR图像属性描述 1、图像类型 (Image Type) 2、抽样每个象素 (Sampling per Pixel) 3、光度插值 (Photometric Interpretation) 4、位分配 (Bits Allocated) 结论 引言 数字成像和通信在医学(…...
Linux内核与用户空间
Linux内核与用户空间是Linux操作系统中的两个重要概念,它们各自承担着不同的功能和职责,并通过特定的机制进行交互。以下是对Linux内核与用户空间的详细解释: 一、Linux内核 定义:Linux内核是Linux操作系统的核心组件,…...
计算机网络-以太网小结
前导码与帧开始分界符有什么区别? 前导码--解决帧同步/时钟同步问题 帧开始分界符-解决帧对界问题 集线器 集线器通过双绞线连接终端, 学校机房的里面就有集线器 这种方式仍然属于共享式以太网, 传播方式依然是广播 网桥: 工作特点: 1.如果转发表中存在数据接收方的端口信息…...
找树根和孩子c++
题目描述 给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子 输入 第一行:n(0<结点数<100),m(0<边数<200)。 以下m行;每行两个结点x和y…...
植物源UDP-糖基转移酶及其分子改造-文献精读75
植物源UDP-糖基转移酶及其分子改造 摘要 糖基化能够增加化合物的结构多样性,有效改善水溶性、药理活性和生物利用度,对植物天然产物的药物开发至关重要。UDP-糖基转移酶(UGTs)能够催化糖基从活化的核苷酸糖供体转移到受体形成糖苷键,植物中天然产物的糖基化修饰主要通过UGTs实…...
Redis中String 的底层实现是什么?
Redis中String 的底层实现是什么? Redis 是基于 C 语言编写的,但 Redis 的 String 类型的底层实现并不是 C 语言中的字符串(即以空字符 \0 结尾的字符数组),而是自己编写了 SDS(Simple Dynamic String&…...
像mysql一样查询es
先简单介绍一下这个sql查询,因为社区一直反馈这个Query DSL 实在是太难用了。大家可以感受一下下面这个es的查询。 GET /my_index/_search { “query”: { “bool”: { “must”: [ { “match”: { “title”: “search” } }, { “bool”: { “should”: [ { “te…...
保姆级教程:用ESP8266-01S和机智云固件,5分钟搞定智能硬件联网(附烧录软件下载)
5分钟极速上手:ESP8266-01S与机智云固件实战指南 当你想把一盏台灯变成手机可控的智能设备,或是让温湿度传感器数据实时上传云端时,ESP8266-01S这个小巧的Wi-Fi模块就是最佳选择。它价格低廉、功能强大,配合机智云的固件…...
ROS2实战:用hdl_localization+Velodyne激光雷达实现室内机器人实时3D定位(环境配置与调参心得)
ROS2实战:hdl_localization与Velodyne激光雷达的室内3D定位调优指南 在机器人自主导航领域,实时精准定位始终是核心挑战之一。当你的移动机器人搭载着Velodyne激光雷达在复杂室内环境中穿行时,hdl_localization提供的3D点云匹配方案能带来令…...
让通用 URL 准确落到目标 Page Builder:SAP Fiori 页面管理中的重定向实践
在很多 SAP Fiori 项目里,大家更容易把注意力放在 SAPUI5 组件、OData 服务、Launchpad 编排,或者 Fiori Elements 的元数据驱动开发上,却很少有人愿意花时间审视一条看似普通的访问路径。当系统进入页面管理阶段,尤其是管理员通过 Page Administration UI 去打开、维护、跳…...
JAVA-- 突破默认限制:在Java8 Parallel Stream中高效管理自定义线程池
1. 为什么需要自定义线程池管理Parallel Stream Java8引入的Parallel Stream确实让并行编程变得简单,但很多开发者在使用过程中会发现一个尴尬的事实:所有并行流操作默认共享同一个ForkJoinPool公共线程池。这就好比小区里所有住户共用一个电表ÿ…...
从变砖到重生:红魔全系9008深度救砖指南与实战解析
1. 什么是9008模式?为什么能救砖? 当你发现红魔手机卡在开机界面、反复重启甚至完全黑屏时,大概率是遇到了传说中的"变砖"。这时候高通芯片隐藏的9008模式就是最后的救命稻草。简单来说,9008模式相当于电脑的BIOS界面&…...
BUUCTF-[HITCON 2017]SSRFme
代码分析<?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { //HTTP_X_FORWARDED_FOR可以获取客户端真正ip地址,和各个代理IP地址$http_x_headers explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]); //拆分字符串,以,分割$_SERVER[REMOTE…...
hadoop+spark+hive基于大数据的食谱分析与个性化推荐系统 美食推荐系统 美食可视化 大数据毕业设计
前言随着互联网技术的快速发展,人们获取信息的方式发生了巨大变化。特别是在食品领域,用户渴望获得更加个性化的推荐服务。大数据分析技术的出现为满足这一需求提供了可能。并据此提供精准的食谱推荐,从而提升用户体验。系统架构设计本项目 采…...
4个维度解析Lenovo Legion Toolkit:游戏本性能管理的轻量革命
4个维度解析Lenovo Legion Toolkit:游戏本性能管理的轻量革命 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 1.…...
Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险
Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险 最近和几个做安全的朋友聊天,他们都在头疼一个问题:现在的网络攻击越来越“花里胡哨”了。以前可能就是一段恶意代码,现在呢?一张精心设计的钓…...
Aurix/Tricore实验解析:从链接脚本到汇编指令的Trap向量表构建
1. 理解Trap机制与向量表基础 在Aurix/Tricore架构中,Trap(陷阱)是处理器响应异常事件的硬件机制,相当于汽车的安全气囊——平时看不见,但遇到碰撞时会立即触发保护。与中断不同,Trap是同步触发的ÿ…...
