自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(738)
  • 资源 (38)
  • 收藏
  • 关注

原创 Protobuf c++使用

Protobuf(Protocol Buffers)是 Google 开发的一种高效的结构化数据序列化工具,可用于数据存储、通信协议等场景。体积更小:二进制编码,数据压缩率高;解析更快:无需解析字符串,效率是 JSON 的 5-10 倍;跨语言兼容:支持 C++、Python、Java 等多种语言;可扩展性强:新增字段不影响旧版本解析。

2025-11-05 00:28:55 864

原创 ROS2-CMake学习

跨平台构建系统生成器生成 Makefile(Linux)、Visual Studio 项目(Windows)等ROS 2 的官方构建工具(通过 ament_cmake)ROS 2 的 CMake 构建系统基于 CMake,提供 ROS 2 特有功能简化依赖管理、消息生成、包导出等目录结构├── msg/├── srv/示例消息# 消息定义示例服务# 请求---# 响应示例动作# 目标---# 结果---# 反馈# 1. 生成接口# 2. 创建节点rclcpp。

2025-10-18 16:53:26 741

原创 ROS2_YAML参数系统完整指南

ROS2参数系统是ROS2框架提供的配置管理机制,允许节点在运行时获取配置参数。命令行参数Launch文件参数默认值calibration配置文件 > 包内配置文件 > 默认值1. 节点启动2. 调用loadConfiguration()3. 在loadConfiguration()中:- 检查/var/psi/calibration/config.yaml- 如果不存在,检查包内config.yaml- 使用set_parameter()设置参数到参数服务器。

2025-09-22 22:40:41 1082

原创 Python3练习题

需求:创建自定义模块 “math_tools.py”,包含 “add(加法)、multiply(乘法)、is_prime(判断质数)” 三个函数在主脚本中导入该模块,调用函数并测试步骤 1:创建模块文件 “math_tools.py”# math_tools.py(自定义模块)"""加法运算""""""乘法运算""""""判断n是否为质数(质数:大于1的整数,仅能被1和自身整除)"""if n <= 1:if n == 2:# 检查3到sqrt(n)的奇数步骤 2:主脚本调用模块。

2025-09-15 23:55:51 1360

原创 作为一个C++老鸟,看我如何一天学会 Python

构造函数,相当于C++的构造函数self.name = name # 相当于public成员self.age = age # 相当于public成员。

2025-09-08 23:17:49 1247

转载 Ubuntu系统下,截图软件(飞书,flameshot等)无法正常截图与编辑

Ubuntu系统下,截图软件(飞书,flameshot等)无法正常截图与编辑

2025-09-01 11:08:55 109

原创 如何定义服务接口

在包中创建 srv 目录并添加服务定义文件mkdir srv# 请求部分:三个整数 int64 aint64 bint64 c--- # 响应部分:求和结果 int64 sum。

2025-08-24 13:28:19 384

原创 工作空间与功能包

举个例子,我们手上有很多红豆、绿豆、黄豆,假设都放在一个袋子里,如果只想把黄豆都拿出来,是不是得在五颜六色的豆子里一颗一颗都找出来,数量越多,你就越头疼;每个机器人可能有很多功能,比如移动控制、视觉感知、自主导航等,如果我们把这些功能的源码都放到一起当然也是可以的,但是当我们想把其中某些功能分享给别人时,就会发现代码都混合到了一起,很难拆分出来。想象一下你的系统是一个巨大的图书馆(System Library),而你的ROS2工作空间是你刚写完的一本新书(Your New Package)。

2025-08-23 14:13:48 598

原创 安装Tailscale

如果返回 /usr/bin/tailscale 或类似路径,说明已安装但 sudo 可能找不到它。如果 which tailscale 没有输出,说明安装失败,重新执行安装步骤。Tailscale 的后台服务 tailscaled 必须运行。检查 tailscaled 服务是否运行。检查 tailscale 命令是否存在。

2025-08-22 17:11:30 587

原创 Bash常用操作总结

变量名区分大小写,通常大写表示常量,小写表示变量。定义:变量名=值 ( 等号两边不能有空格!使用:$变量名 或 ${变量名} (推荐后者,明确边界)。示例:name="Alice" # 定义变量" # 使用变量echo $greeting # 输出: Hello, Alice!echo "My name is ${name}." # 输出: My name is Alice. (明确边界)

2025-08-16 15:50:59 1352

原创 SSH远程登录

大多数Linux/windows/Mac都已经预装了openssh,无需额外安装。命令:ssh-copy-id bing@132.168.1.123 至此要输入密码。使用别名的登录方式,需打开~/.ssh/config文件,追加一下内容。2.需安装ssh客户端组件,由openssh-client包提供。2.需要安装并运行ssh服务,由open-server包提供。1.使用服务的主机,它向服务发起请求来获取所需的资源和服务。1.安装VSCode插件:Remote - SSH。

2025-08-12 10:15:41 708

原创 容器技术之docker

Docker是一个用于构建build 运行run 传送share应用程序的平台Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。

2025-08-11 17:28:47 1929

原创 linux下如何安装软件

区别:full-upgrade 会处理依赖冲突(可能删除阻碍升级的旧包)从配置的软件源(/etc/apt/sources.list)下载软件。作用:从服务器获取最新的软件包列表(不会升级已安装软件)缓存位置:/var/lib/apt/lists/提供软件安装、更新、卸载等全生命周期管理。频率:每次安装新软件前都应执行。完全升级(可能删除旧包)完全卸载(包括配置文件)安全升级(不删除旧包)自动处理软件依赖关系。

2025-07-27 00:35:10 237

原创 Linux c++ CMake常用操作

添加子目录:每个模块(子目录)中都需要一个CMakeLists.txt文件,最外层也有该文件,并且在该文件中添加子目录路径:add_subdirectoory()。需要子目录的原因:在一个项目中,不可能用一个cpp文件包含所有的功能,故分为多个模块在不同目录中。在每个模块中,可以单独编译,再和其他模块解耦(组合)。可见生成了libdyStudent.so动态库,接着运行。src中的CMakeLists.txt。最外层的CMakeLists.txt。二、方式2-静态库的方式。三、方式3-动态库的方式。

2025-07-26 19:37:38 386

原创 windows下c++打印图片的封装

最近工作遇到打印图片的功能,那么如何将图片打印出来呢?下面是封装好的工具,可以直接使用。

2025-07-14 14:30:07 288

原创 c++总结-05-模板与泛型编程

模板与泛型编程

2025-06-14 23:37:07 1336

原创 c++总结-04-智能指针

• 线程安全:引用计数的增减是原子的(通过 std::atomic 实现),但对象本身的访问需要额外同步。• 内存占用:每个 shared_ptr 携带指向控制块的指针(通常为 16 字节)。• 不增加引用计数,但可检测资源是否有效(通过 lock() 获取临时 shared_ptr)。• 组成:引用计数、弱引用计数、删除器(Deleter)、分配器(Allocator)。• 存储成本较裸指针多了引用计数指针(和相关控制块-共享)• 接口慎用(蔓延问题)• 智能指针仅用于管理内存,不要用于管理非内存资源。

2025-05-25 23:11:37 949

原创 c++总结-03-move

第二个warp()函数调用实参是右值,根据引用折叠规则,funcMiddle()函数接收的参数类型是右值引用,那么为什么却调用了调用func()的左值版本了呢?(2)转发:从main()函数中调用funcMiddle()函数,通过funcMiddle()函数调用funcLast()函数,这就叫做转发,funcMiddle()函数被当作一个跳板函数。但是C++中不允许对引用再进行引用,对于上述情况的处理有如下的规则:所有的折叠引用最终都代表一个引用,要么是左值引用,要么是右值引用。这就是移动操作的来源。

2025-05-18 22:22:23 1048

原创 C++总结-02-对象内存模型

C++对象内存模型是理解C++面向对象编程的核心基础,它对程序的行为、性能和正确性有着深远影响。

2025-05-17 00:58:17 1216

原创 C++总结01-类型相关

在C++中,临时对象(Temporary Objects)是编译器在表达式求值过程中隐式创建的、生命周期短暂的匿名对象。返回值优化(Return Value Optimization,RVO)是 C++ 编译器的一项重要优化技术,用于消除函数返回对象时的临时对象构造和复制/移动操作。在C++中,内嵌对象(作为类的成员变量)的构造和析构时机遵循特定的规则,理解这些规则对于正确管理对象生命周期非常重要。• 基本数值类型,以及auto自动推断类型声明,可以继续使用赋值初始化(除非需要避免数值窄化转型)。

2025-05-04 00:04:54 1308

原创 宽窄字符转换

【代码】宽窄字符转换。

2024-12-13 00:13:49 216

原创 c++17文件系统

在编程世界中,目录操作是不可或缺的一部分。无论你开发什么你都需要与文件系统(Filesystem)进行交互。C++ Filesystem库提供了一种标准化和跨平台的方式来进行这些操作。

2024-11-09 00:46:12 515

原创 模板与泛型编程-变量模板

别名模板是c++ 11引入的,引入的目的是不但能简化书写,而且可以达到其他手段很难实现的效果,一般都是通过using实现别名模板。

2024-10-13 12:41:35 142

原创 c++基础-去掉空格

【代码】c++基础-去掉空格。

2024-10-12 16:47:56 499

原创 c++11~c++20 thread_local

线程局部存储是指对象内存在线程开始后分配,线程结束时回收且每个线程有该对象自己的实例,简单地说,线程局部存储的对象都是独立各个线程的。实际上这并不是一个新鲜个概念,虽然C++一直没因在语言层面支持它,但是很早之前操作系统就有办法支持线程局部存储了。

2024-10-09 22:30:44 417

原创 c++11~c++20 结构化绑定

结构化帮绑定可以作用于3中类型。

2024-09-30 22:53:53 593

原创 c++11~c++20 内联命名空间

突然某天加入了新特性,需要升级接口。有些客户需要升级,有些客户担心稳定性,而不愿意升级,还想用原来的接口,那我们就可以用下面的方法来解决该问题。在c++11中增强了命名空间的特性,提出了内联命名空间的概念 ,内联命名空间能够把空间内的函数和类型导出到父命名空间中,这样即使不指定子命名空间也可以使用其空间内的函数和类型了。在工作,我们经常会引入第三方库,偶尔会碰到同名的函数和类型,造成编译冲突的问题。可以看到应用端无需该代码,底层库只需要改变inline的位置即可!使用新的接口(愿意更新的用户)

2024-09-28 15:46:08 432

原创 c++11~c++20 numeric_limits

在c++中应该尽量少使用宏,用模板取而代之是明知的选择。我们可以使用numeric_limits来获取最大值和最小值,例如。

2024-09-28 12:54:37 446

原创 c++如何截取桌面

c++截取桌面

2024-05-14 15:40:58 646

原创 CMake简单使用03资源拷贝

CMake使用资源拷贝

2024-03-23 00:06:27 522

原创 CMake简单使用02

CMake简单使用

2024-03-22 22:54:30 356

原创 CMake简单使用

cmake简单使用

2024-03-22 22:14:41 296

转载 可变参数 C/C++ 宏定义

【代码】可变参数 C/C++ 宏定义。

2024-02-28 09:17:54 705 1

原创 c++获取本地所有IP地址,以及域名解析

获取本机ip地址

2024-02-24 16:17:41 1231

原创 Linux c++开发-15-epoll简介

epoll

2023-12-25 21:50:39 605

原创 Linux c++开发-14-IO复用

在select这种I/O多路复用机制下,我们需要把想监控的文件描述集合通过函数参数的形式告诉select,然后select会将这些文件描述符集合拷贝到内核中,我们知道数据拷贝是有性能损耗的,因此为了减少这种数据拷贝带来的性能损耗,Linux内核对集合的大小做了限制,并规定用户监控的文件描述集合不能超过1024个,同时当select返回后我们仅仅能知道有些文件描述符可以读写了,但是我们不知道是哪一个,因此程序员必须再遍历一边找到具体是哪个文件描述符可以读写了。第三个文件描述符可以读写了吗?

2023-12-25 15:38:31 712

原创 Linux c++开发-13-常用的IO函数简介

结果:

2023-12-21 23:58:14 497

原创 Linux c++开发-12-Socket IP地址相关的几个API

2023-12-21 23:30:41 438

原创 Linux c++开发-11-Socket TCP编程简单案例

【代码】Linux c++开发-11-Socket TCP编程简单案例。

2023-12-20 23:26:47 976

原创 Linux c++开发-10-Socket TCP编程常用的API

2023-12-20 22:30:56 442

MFC之自绘ClistCtrl列表控件

开发环境:VS2013 框架:MFC、vc++ 功能:点击列表头排序、隔行换色、高亮显示选中、多行选中

2020-04-20

pdf转word工具

里面是一个安装包,安装之后可以用,自己用过几次,觉得还不错,大家可以试一试,最近下载东西比较多,比较费积分,故赚点积分,望理解。

2020-07-07

NTP校时(同步局域网内所有设备的时间)(Windows 如何安装NTP服务器)

好多设备指定一个需要同步时间的设备,使其所有设备时间都一样

2019-01-16

局域网扫描工具.zip

搜索整个局域网中所有在线的IP,在工作中经常使用,所以推介一下,希望对给位同学有所帮助。真的挺好用的。

2020-07-07

vc++ MFC 将list控件导入excel

vc++ MFC 将list控件导入excel,已经封装好了,直接可以用,

2019-03-09

FreeImage库,C++,C#测试通过

支持c++,C#,这两个已经经过测试, 库很小就5M,在格式转换非常方便,推介使用。

2020-04-11

C++MD5加密的使用

是一个做好的Demon,里面介绍了加密算法的基本使用,可为初学者提供一些帮助

2019-01-16

很好用的像素尺子

这是一个可以在Windows下运行的像素尺,方便开发人员进行像素宽度的测量

2019-03-09

C#对FreeImage的使用

支持GPG,jp2,bmp等二十多种图片的转换,很是方便,啦啦啦啦啦啦啦啦啦啦啦啦啦啦;;;;;啦啦啦啦啦

2020-04-11

stl泛型编程--视频教程,讲的比较细

stl 泛型编程课程,值得学习,是百度网盘方式获取,,

2019-10-31

套接字编程之聊天小工具

套接字编程,开发了一个小demo,里面有源码,然后有release版本与debug版本,都可以直接使用,希望对初学者有用。

2020-07-11

msxml安装包

开发当中经常提示少一些库,查了很多资料找到终于知道是什么原因,是msxml没有装,本人使用的是vs2013.

2020-07-07

opencv3.0适合VS2013,VS2012

opencv官网下载比较慢,在这里下载会快些,适合vs2013,vs2012的同学使用

2018-12-04

图片处理工具(各种大小)

不管你是开发或者其他人员,其实这款工具真的特别好用,界面酷炫,功能强悍,可以说是一个小“ps”也不为过。生活中的证件照尺寸等也都有。

2020-04-19

TyUSBCamera.zip

使用openCV 实现打开本地摄像头,和usb 摄像头,开发环境是visual studio ,

2019-08-13

图的遍历

包含图的存储、深度优先遍历、广度优先遍历、只需把文件加载到工程文件,编译即可运行,代码值得思考

2020-02-27

手动构造一个哈希表

哈希表的实现,里面包含二叉排序树,及其自己实现的哈希结构,纯代码,代码结构的排布值得思考。

2020-02-27

mysql+connetcot.txt

包含数据库和连接串,对于操作数据库及其连接,亲自测试没有任何问题,版本是5.7.17.msi,其中连接器有32位和64位两个版本,自己根据需要安装

2019-12-29

MySkinTy.zip

有三种皮肤,个人觉得像office2007的风格,挺好看的,里面带有使用说明,使用非常简单,亲测是vs2013,vc6,

2019-09-03

执行数据库脚本工具

通过ADO连接方式,能够执行数据库的脚本,比如创建数据库,或者表,方式是通过读取.sql本地文件。

2019-04-29

excel操作库最新版libxl-4.2,包含key

excel操作库最新版libxl-4.2,包含key.自测通过!

2024-02-17

Doxygen、Graphviz

配套的工具都有

2023-07-23

崩溃调试库,64位,因为要大于11个字,我就随便写点

真的很好用,库都是编译好的

2023-05-14

windbg 64 位 因为要10个字,所以多打一点

windbg 64 位

2023-05-14

好用的cJSON库,测试通过-64位

该cJSON库,通过VS2019编译而成,属于64位静态库

2022-12-18

基于Modbus-RTU的温湿度采集demo

基于Modbus_RTU的温湿度采集demo

2022-10-20

libmodbus库与资料亲测通过

这是64位版本的库,分为debug和release,亲测没有问题,另外还有一些资料,希望能帮到你

2022-10-20

合并excel的方法(工具)

可以将多个excel文件合并到一个excel文件中,非常好用,欢迎学习

2022-05-29

gvim80-586.rar工具

vim文本编辑器

2022-01-01

debug.exe 调试工具

debug.exe工具

2022-01-01

DOSBOX windows7、win10

DOSBOX windows7、win10

2022-01-01

glog编译好的库(dll,lib,h)

glog编译好的.lib、.dll、 .h文件

2020-12-22

TestLib01.rar

静态库和动态库的建立及其使用

2021-10-30

谷歌日志库glog,编译通过

谷歌日志库glog,编译通过

2020-12-23

TyProject0622.zip

MFC创建dll

2021-06-22

AccessPort111.zip

这是一个串口工具,非常好用

2021-05-26

Ini配置文件读写.zip

配置文件源码

2021-04-06

CTestPro.zip

CPtrList使用方法,是VS2015写的

2021-03-24

共享内存实现,MFC,C++,VS2015

里面有两个程序,启动之后都可以接收发送消息,但是需要先启动带创建共享内存提示的那个。

2021-03-19

Project3内存检测.rar

仅仅一个例子,里面有使用的方法,编译环境是VS2013,测试通过,可以定位。最近下载东西比较多,赚点积分,设置了2分,不过分吧。

2020-07-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除