visual studio 2013下 创建C++动态库及调用

Visual Studio引入外部库 ---- 弄懂静态库lib和动态库dll 这两天由于想要研究一下socket的相关内容,但是没想到引入外部库还有这么多门道。 根据维基百科定义:一个现代编译器的主要工作流程如下:源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(linker)→ 可执行文件(executables),最后打包好的文件就可以... 阅读详情

  在日常开发中,动态库的作用不言而喻,下面整理一下如何在VS2013下创建动态库并调用。

一:打开VS2013,点击文件,新建,项目。或者使用快捷键CTRL+SHIFT+N。

如图所示,输入项目名称和解决方案名称。

二:点击确定,如下图勾选后点完成。

三:右键MyFirstDLL,点添加,选择新建项,新建Test.h头文件以及Test.cpp后,编辑内容如下:(注意MYFIRSTDLL_EXPORTS)这个宏,是根据你的DLL项目名自动生成的。可以右键,选择属性,在c/c++中的预处理器定义中找到。

 

四:按快捷键CTRL+SHIFT+B,或者右键项目点生成。可以看到debug目录下生成的DLL和lib

至此,DLL创建完成,接下来新建控制台应用程序,调用DLL。

五:右键解决方案DLLSolution,点击添加,选择新建项目。如下图所示,点击确定。

六:如下图所示,点击完成

七:右键TestMyDL,点击属性,选择C/C++,点击附加包含目录。

八:输入Test.h所在的目录,这里是采用的是相对路径,..就是上一层的意思。VS中,以vcxproj后缀的文件所在目录为当前目录。这里是TestMyDLL.vcxproj。它的上一层目录中,包含了MyFirstDLL。所以添加../MyFirstDLL后。编译器就可以找到Test.h了

九:接下来要链接lib,如下图所示,选择属性中的链接器,选择附加库目录。这里的库目录在debug目录下。

十:在链接器的输入中,点击附加依赖项,讲lib填入。

十一:编辑TestMyDLL.cpp的内容如下:

十二:右键TestMyDLL,选择设为启动项目,编译运行即可查看效果。

输出:

 

 

 

 

 

python调用c++动态库的简单实现 python调用c++动态库的简单实现vs创建过程python调用 主要参考博客:https://blog.youkuaiyun.com/weixin_38285131/article/details/8128833 vs创建过程 新建一个vs项目之后选择包含dll(项目名for_dll) 在头文件中添加pycall.h,代码如下: //pycall.h class Mymath{ int sum(int,... 阅读详情

相关推荐

通过 Visual Studio 制作 c++ dll 动态库

最近有个需求需要调用一个打包好的c++ dll 工具库处理一些文件。中间遇到不少问题,记录分享一下。 计划 创建一个c++ dll 动态库对于底层的工具库做一次封装。 由于库内的方法多为c方法且数量比较多比较琐碎,需要将其整理包装 封装C# library 调用组装好的c++ dll。 通过.NET web api 调用C# library。 封装c++ dll 动态库(vs 2019) ...

weixin_43383047的博客 987

VS2013 如何创建动态库和使用

如何创建动态库和使用

bigger_belief的博客 985

Visual Studio生成并使用动态库(dll,lib)

pre 在VS中创建一个解决方案,解决方案中包含一个库项目,其余所有的项目依赖这个库项目,并且调用这个库项目中的特定函数 / LibProject/ UseLibProjectA/ UseLibProjectB/ 知识准备 这样的依赖关系可以采用静态依赖库lib和动态依赖库dll实现,博主【技术先生】的一篇博客 1 简明的阐述了两者的区别,这里采用了静态链接...

月光轩辕的专栏 9846

【免费下载】 Microsoft Visual C++ 2013 Runtime 64bit 工具介绍

Microsoft Visual C++ 2013 Runtime 64bit 工具介绍 【下载地址】MicrosoftVisualC2013Runtime64bit工具介绍 Microsoft Visual C++ 2013 Runtime 64bit工具为安装MySql数据库提供了必备的运行库支持,专为64位操作系统...

gitblog_06758的博客 1009

在Visual Studio 2017下实现动态库加载

在开发与测试中,有时需要加载不同的库,如果每次修改源程序就会非常麻烦,但如果指定库函数进行动态加载,则可以不用修改代码就能实现不同库函数的功能。以下是我在Visual Studio 2017环境下实现的动态库加载实验。 本文参考例程:https://blog.youkuaiyun.com/qq_28249373/article/details/76098914 首先我们需要建立DLL工程,生成自己的动态链...

Liut2016的博客 3622

Visual Studio 2013/2017 C++运行库的32/64位支持详解

Visual Studio C++运行库是构建和执行C++应用程序不可或缺的基础组件,为开发者提供了一系列预构建的库函数,使得代码开发更加高效和安全。本章将带领读者入门,简要介绍运行库的定义、分类及其核心价值。静态链接运行库是指在程序编译时,将运行库中的函数代码直接复制到最终生成的可执行文件中。这种方式导致最终的可执行文件体积较大,因为它包含了所有需要的函数代码,使得程序在部署时不需要依赖外部的库文件。实现静态链接的方式通常在编译器的链接器设置中选择静态库文件(通常是.lib文件)作为链接对象。

weixin_42186015的博客 2607

VS2013添加动态链接库的两种方法(终结篇)

一、VS中添加LIb库及头文件(外部依赖项)的步骤: 1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。 2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---配置属性--

STL1634614466的博客 2万+

C++动态库创建与调用教程:从基础到实战

动态库是一种在程序运行时才被加载的库,它包含可以被多个程序同时访问的代码和数据。与之相对的是静态库,静态库在编译时被直接包含在最终可执行文件中。动态加载,也称为运行时加载,是一种在程序运行时将程序所需的库文件(动态链接库,DLL)加载到进程地址空间中的技术。它与静态加载相对,后者是在编译时期就把库链接到可执行文件中。动态加载的优势在于可以实现插件架构、按需加载资源和模块化管理,尤其在软件更新频繁或需要热插拔模块的场景中十分有用。

weixin_42160645的博客 1072

VS 2013(Visual Studio 2013)基础使用方法

点击Visual C++选择C++文件,图中文件名称后缀为.cpp是C++文件,本文用C语言进行编程学习因此文件名称后缀改为.c。在该界面右边找到解决方案资源管理器,右键点击源文件→添加→新建项添加源文件,如果有现有的源文件也可添加现有项。程序中getchar读入函数使得在输出结果后还可以用键盘输入字符,以回车键结束,这个代码写不写都行。如果没有找到解决方案资源管理器,点击工具栏中视图→解决方案资源管理器就行了。空项目打钩,按照上图配置选项,点完成,一个项目就创建好了,如图。在源文件中输入代码,保存。

m0_67336575的博客 5205

别再花钱买商业软件了!这4款免费DIC工具,从散斑生成到应变分析全搞定

本文介绍了4款免费开源的DIC(数字图像相关技术)工具,涵盖从散斑生成到应变分析的全流程,帮助用户零成本构建专业级DIC工作流。这些工具在精度、算法透明度和生态整合方面具有优势,适用于材料力学和实验力学研究,可替代昂贵的商业软件。

weixin_42525369的博客 167

【Audio driver】深入解析mixer_paths.xml中的音频通路配置

本文深入解析了Android音频驱动开发中的核心配置文件mixer_paths.xml。文章以高通平台为例,详细阐述了音频通路(FE、BE、DSP、Device)的概念与连接逻辑,并通过实战案例拆解了扬声器与麦克风通路的配置方法、关键控件作用及调试技巧,是理解与定制Android音频系统的实用指南。

ik6789012的博客 357

c 写dll 被易语言,C++ 编写DLL文件给易语言调用

摸索了两天了,终于解决了所有问题,在此跟大家分享。需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def直接上代码:头文件如下:1 #ifndef _DLL_DEMO_H_2 #define _DLL_DEMO_H_3 #ifdef DLLDEMO_EXPORTS4 #define DLL_DEMO extern "C" __declspec(dllexport)5...

weixin_42513170的博客 411

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2375

C++ 静态库/动态库创建与调用(Visual Studio)

目录 一、创建静态库 二、调用静态库 方式一 方式二 三、创建动态库 四、调用动态库 方式一:隐式调用 方式二:显示调用 一、创建静态库 1、打开VS2015——新建项目 2、选择命名为TestStaticLib 3、设置选项并点击完成 4、TestStaticLib.h #pragma once class TestStaticLib { pub...

1201

地质工程师必备:Dips软件从数据导入到主结构面分析的完整流程解析

本文详细解析了地质工程师使用Dips软件进行主结构面分析的完整流程。从数据准备与导入、结构面分组与扇形区划分,到主结构面计算与工程解读,系统阐述了如何将野外节理数据转化为控制岩体稳定性的关键信息。重点介绍了利用等值线图识别优势组、计算统计主值及其置信椭圆,并强调了地质判断与工程应用结合的重要性。

table的专栏 341

SAP SD核心流程解析:从销售订单到财务结算的实战指南

本文深入解析SAP SD模块从销售订单到财务结算的核心流程,重点剖析了销售订单中的行项目类别如何作为流程的“总开关”,决定了后续交货、开票及财务集成的走向。文章结合实战案例,详细拆解了正常销售、退货、第三方销售、寄售等典型流程的配置要点与国内化适配方案,并阐述了SD与财务模块集成的关键连接点,为顾问和用户提供了一份全面的实战指南。

weixin_29250403的博客 426

visual studio 2015 编写C++ 静态库和动态库、调用静态库和动态库

3.3 引入DLLDemo.lib符号文件(这个lib文件就在DLLDemo.dll同级目录下,和DLLDemo.dll同时生成的)3.3 在“practice”项目中包含静态库头文件所在的目录,防止代码中包含头文件时出错。3.2 在“practice”项目中包含动态库头文件所在的目录,防止代码中包含头文件时出错。3.2 在“practice”项目中引用StaticLibDemo.lib静态库。点击生成,可以看到已经生成了DLLDemo.dll动态库,如下图所示。1.3 如下图所示选择静态库。

读书札记2022的博客 1313

educoder实训——计算几何形状的表面积与体积

educoder python实训

qq_41234663的博客 1230

visual studio 创建 C/C++静态库和动态库

一、静态库 创建动态库 创建项目:文件 → 新建 → 项目 → visual c++ → win32程序(项目命名为staticlib) → 下一步→ 静态库(其他默认即可) → 完成 创建一个容纳函数的cpp :点击项目staticlib → 右键 → 添加 → 新建项 → visual c++ → c++文件(文件命名为source.cpp) 在source.cpp文件中键入: //其...

Robin的思路汇聚屋 2422

外设测试 - ATAES132A 加解密芯片测试

原理 使用芯片官方提供的读写操作库,进行先写后读并校验,确认数据一致。 示例代码 int main(void) { uint8_t ret; aes132p_enable_interface(); ret = write_memory_test(); if (ret != AES132_FUNCTION_RETCODE_SUCCESS) { aes132p_disable_interface(); printf

一个软件工程师的技术笔记 858

ICC2:平行打孔create_pg_stapling_vias

power rail(follow pin)不总是metal1一成不变的,当需要使用metal2做power rail,而standard cell的pg pin仍然是metal1时就需要平行打孔,从metal2到metal1。 以往都是用create_pg_vias -allow_parallel_objects来做,但这样有两个弊端,一是需要抓出所有的via12(包括standard cell内部的和出pin绕线产生的),添加routing blockage,防止create pg via的时候产生d

m0_61544122的博客 2256

VS中动态库的创建和调用

​库是写好的现有的,成熟的,可以复用的代码。库的存在形式本质上来说库是一种可执行代码的二进制。​ 库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接阶段,静态库的链接阶段是在项目编译的时候静态链接。动态库是在程序运行的时候由代码加载链接。​ 静态库和动态库的区别主要是在链接阶段处理库的方式不同而区分的。

qq_43812868的博客 3084

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Visual Studio 2022静态库与动态库创建及使用完全指南

在C++开发中,库(Library)是代码复用的重要方式。本教程将详细介绍如何在Visual Studio 2022中创建和使用静态库(.lib)和动态库(.dll),每种库类型都会有完整的创建步骤和实际示例。

yy_xzz的博客 4535

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

使用visual studio生成C++动态库并调用该动态库步骤及注意点

1.编写一个C++动态库并编译 测试源代码头文件dong #pragma once #include <iostream> #include <string> #if defined(WIN32) || defined(WIN64) # ifdef MY_DLL_API // # define MY_DLL __declspec(dllexport) # else # define MY_DLL __declspec(dllimport) # endif #else #

qq_45853451的博客 2590

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

(Visual Studio)动态库 静态创建流程总结

​ 环境:Visual Studio 2015 + Qt 5.9.1​ 以开源库QCustomPlot的创建过程为例,总结类库创建流程。

wwQAQwwa的博客 1203

C++创建动态库C#调用

前言最近一直在学OpenCV,因为图像处理里面用C++效率要快不少,顺便就学习了一点C++的东西,由于WinForm中的程序我主要还是用C#来做,所以今天我们就看看怎么样用C++创建动态...

Vaccae的博客 778
上一篇: 多线程的基本概念和几种同步方式
下一篇: linux下tcp编程
Qt上位机开发
Qt上位机开发 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄9年 9664粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值