自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 git 使用总结

这也是我们经常用的命令,他会把此次提交追加到上一次的commit内容里。例如,如果你喜欢使用 Vim,可以运行。例如,如果你喜欢使用 Vim,可以运行。:Git 可能没有正确地识别你的默认文本编辑器。:Git 可能没有正确地识别你的默认文本编辑器。取出缓存区栈顶(即最近一次)的内容,并且会删除此次。,于是出现了右边这个界面,即打开了一个vim。内容,并且提交此次修改,如果敲入“:q。将工作区的修改保存到缓存区,且取名为。的提交内容,包括所有文件的修改信息。),把他的修改在新分支上再修改一遍。

2024-07-17 14:36:51 522

原创 CmakeLists

如果使用的静态库, libcalc.a 可被打包到生成的可执行文件当中,动态库里面的数据不会打包到可执行文件里面,当程序一启动,可执行文件和静态库都会被加载到内存中,但是动态库不会,动态库只是执行到的时候才会被加载到内存中。CMAKE_CURRENT_SOURCE_DIR执行cmake时后面携带的路径 CMakeLists.txt对应的路径。PROJECT_SOURCE_DIR:执行cmake时后面携带的路径 CMakeLists.txt对应的路径。发布给客户需要给include 和库文件。

2024-07-17 14:36:48 222

原创 RTI DDS大数据碎片

PublicationBuiltingTopicData或SubscriptionBuiltnTopicData样本较大的最常见原因是序列化的TypeCode或TypeObject,但您也可能发送了大量属性(通过7.5.19 PROPERTY QosPolicy(DDS扩展))或具有较大的ContentFilteredTopic筛选器表达式,以及其他大小可变的字段,这可能会导致样本大小较大。如果您尝试发送一个大小大于MTU的DDS样本,但尚未设置DDS级碎片,您将看到IP级碎片。

2024-07-17 14:35:09 869

原创 Rti DDS qos

1.parent.allow_interfaces_list字符串列表,每个字符串标识一系列接口地址或接口名称。接口必须指定为逗号分隔的字符串,每个逗号分隔一个接口。例如,以下是可接受的字符串:192.168.1.1192.168.1.*192.168.*192.*ether0如果列表非空,则此“白色”列表将应用于parent.dny_interfaces_list列表之前。DomainParticipant将使用由此产生的接口列表来通知其远程参与者哪些单播地址可用于联系D

2024-07-10 10:06:12 355

原创 protobuf的使用

protobuf:是一种数据格式,独立于平台,独立于语言,是一种二进制格式,可以存储更加复杂的数据结构,比如图,树,结构体,类。使用数据时,需要从磁盘里面加载数据--->反序列化。三条数据打包成大的数据块->TLV type length 数据。数据组织,若干条数据组成为一个大包然后转为string发送出去。2.数据的网络传输 数据从服务端发送到客户端。1.持久化:把数据存储到磁盘--->序列化。接收端:string反序列化为数据元素格式。# 或者使用 -I 参数。

2024-07-09 20:23:37 202

原创 fast dds statistics 模块

这是因为子类对象在内存中实际上是包含了父类部分的,为了正确地初始化父类部分(包括成员变量等),子类构造函数会隐式地(或显式地,如果你使用了初始化列表)调用父类的构造函数。在这个例子中,你可以看到无论是隐式还是显式地调用父类的构造函数,父类的构造函数都会在子类的构造函数之前被调用。:如果你没有在子类的构造函数中显式地调用父类的构造函数,编译器会隐式地调用父类的默认构造函数(无参构造函数)。如果父类没有定义默认构造函数,而你又没有在子类的构造函数中显式调用父类的某个构造函数,编译器将报错。

2024-07-08 16:25:11 681

原创 vscode免密连接ssh

2024-07-04 20:11:05 109

原创 二级指针(double pointer)或称为指针的指针

在C++中,二级指针(double pointer)或称为指针的指针,是一个指向指针的指针。这意味着二级指针存储的是一个指针的地址,而这个指针又指向另一个地址。

2024-04-06 15:12:47 270

原创 std::condition_variable 详解

假设你有多个线程,其中一个线程负责产生数据(生产者),而其他线程负责消费这些数据(消费者)。当生产者产生数据时,它可能会设置一个条件变量来通知消费者线程数据已经准备好。消费者线程则会在循环中等待这个条件变量,直到数据准备好。是 C++ 标准库中的一个类,用于同步线程的执行。的成员变量),以允许线程等待某个条件成立。配合使用,以及一个条件(通常是。

2024-04-06 14:53:38 610

原创 ros2 service 源码解析

service:client:

2024-04-01 20:44:51 233

原创 继承构造和析构

【代码】继承构造和析构。

2024-03-27 15:02:52 189

原创 万能择优器

项目经理带你-零基础学习C/C++【从入门到精通】项目十五 C++核心编程-万能择优器第1节 项目需求程序员Jack 的团队新接手了一个底层的项目,项目经理要求Jack 实现一个通用的容器,能够支持插入多种不同的普通类型(包含 int char float double 等)和自定义结构体和自定义类的对象,并能根据每种不同类型的比较规则从容器中取得最大或最小的那个值或对象。示例代码: // demo 15-1.c #include <v

2024-03-27 12:46:02 1398

原创 final 和override 详解

2.final 用来修饰类的虚函数,使得该虚函数在子类中,不能被重写。override只需在函数声明中使用,不需要在函数的实现中使用。1.final 用来修饰类,让该类不能被继承。override仅能用于修饰虚函数。

2024-03-26 22:35:42 206

原创 什么是继承和派生

但是, 又不想被外部访问那么就可以把这些成员, 定义为 protected访问权限!一个类, 如果希望, 它的成员, 可以被自己的子类(派生类)直接访问,Son类的成员函数中,可以直接访问它的父类的protected成员。父类的所有成员函数,以及数据成员,都会被子类继承!除了“构造函数”和“析构函数”,

2024-03-26 22:30:59 100

原创 【无标题】

【代码】【无标题】

2024-03-25 10:55:19 95

原创 建模常用的手段:聚合

给计算机配一台音响。(音响和电脑不是同生共死的关系,电脑坏了,音响还可以用)聚合不是组成关系,被包含的对象,也可能被其他对象包含。拥有者,不需要对被拥有的对象的生命周期负责。聚合就是有缘就聚在一起。

2024-03-24 17:58:06 115

原创 类的静态成员函数

在类的静态成员函数(类的静态方法)内部,不能直接访问this指针和对象的数据成员!在类的静态方法中,不能访问普通数据成员和普通成员函数(对象的数据成员和成员函数)对象的成员函数(没有static的成员函数)内部,可以直接访问“静态数据成员”类的静态成员函数(有static的成员函数)内部,可以直接访问“静态数据成员”类不能直接访问普通的静态数据成员(Human::humanCount 非法)在类的静态成员函数(类的静态方法)内部,只能访问类的数据成员。即:所有的成员函数,都可以访问静态数据成员。

2024-03-24 12:52:43 194

原创 类的静态成员

类静态成员,可以在类内设置初始值,也可以在类的实现文件中设置初始值。(但是不要同时在这两个地方初始化,只能初始化。只能使用一个全局变量,然后在构造函数中对这个全局变量进行修改(加1)缺点:使用全局变量不方便,破坏程序的封装性。的类静态成员,只能在类的实现文件中初始化。需要获取总的人数,如何实现?

2024-03-24 12:39:09 161

原创 拷贝构造函数

1.自定义拷贝构造函数2.合成的拷贝构造函数属于浅拷贝说明:合成的拷贝构造函数的缺点: 使用“浅拷贝解决方案:在自定义的拷贝构造函数中,使用‘深拷贝。

2024-03-23 23:05:22 130

原创 自定义的重载构造函数

【代码】自定义的重载构造函数。

2024-03-23 22:30:07 419

原创 const详解

2. const 函数作为类的成员函数,必须用const 类型对象去调用const 成员函数。成员函数不能修改类的任何数据成员。但是,如果你确实需要在。4.类的成员函数的返回值为const,返回值不能被修改。1.const 作为函数参数,代表传入的参数不能被修改。成员函数中修改某个数据成员,你可以将该数据成员声明为。

2024-03-22 20:34:16 182

原创 ros2中的结构体

是一个枚举值或宏定义,通常用于配置ROS 2(Robot Operating System 2)中的RMW(ROS Middleware)实现,以限制通信仅在本地主机上进行。在ROS 2中,RMW层是负责底层通信的中间件接口,它允许ROS 2节点在不同的进程或机器之间发送和接收消息。具体的实现和名称可能会因ROS 2的不同发行版或RMW实现(如Fast-RTPS、DDS等)而略有不同。因此,最好查阅你正在使用的ROS 2发行版的官方文档或源代码,以获取最准确的信息。被设置为启用(例如,其值为非零或。

2024-03-17 19:11:32 163

原创 递归锁详解

然而,需要注意的是,过度依赖递归互斥量可能导致代码更难理解和维护。如果你知道你的代码中可能会有同一线程多次锁定同一互斥量的情况,那么使用。然而,需要注意的是,过度依赖递归互斥量可能导致代码更难理解和维护,因此在可能的情况下,最好寻找其他方法来实现线程同步,以避免使用。允许同一线程多次锁定同一互斥量,每次锁定都需要有一个对应的解锁操作。时,如果互斥量已经被锁定(无论是被哪个线程锁定的),都会导致阻塞或错误。则不允许同一线程多次锁定,否则会导致未定义行为,通常是死锁。,所以这种递归锁定是允许的。

2024-03-17 12:48:19 232

原创 ZROS_TOPOLOGY_DISABLE

在ROS 2的上下文中,拓扑(Topology)通常指的是系统中节点和它们之间消息传递关系的布局。节点之间的通信是通过发布和订阅主题(Topics)来实现的。为了确保系统的安全性和一致性,有时需要对节点名和主题名进行验证,以确保它们符合一定的规则或存在于预定义的白名单中。这个环境变量的具体作用取决于它是如何被ROS 2应用程序或库使用的。在ROS 2(Robot Operating System 2)中,,不会进行任何验证,即不会检查给定的名称是否在白名单数据库中。被设置为"1",则函数会直接返回。

2024-03-17 12:34:05 213

原创 ros2中的rosout节点的作用

节点为ROS 2提供了一个标准化的日志处理机制,使得不同节点和工具都能够以统一的方式处理日志信息。它为开发者提供了一个强大且灵活的工具来管理和查看日志,从而提高了开发效率、简化了调试过程,并增强了系统的可维护性。在ROS 2系统中负责收集、处理、发布日志信息,为开发者提供了一个统一且便捷的接口来管理和查看日志。发布的消息进行过滤。节点发布日志消息到特定的话题,其他节点或工具可以订阅这个话题来接收和查看这些日志消息。成为ROS 2系统中跨节点通信日志信息的桥梁,实现了日志信息的共享和集中管理。

2024-03-17 12:03:35 290

原创 IPC共享内存机制

是允许两个或多个进程(不相关或有亲缘关系)访问同一个逻辑内存的机制。它是共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。两种常用共享内存方式System V版本的共享内存 shmm多个进程直接共享内存文件映射 mmap文件进行频繁读写,将一个普通文件映射到内存中2.将特殊文件进行匿名内存映射,为关联进程提供共享内存空间3.为无关联的进程提供共享内存空间,将一个普通文件映射到内存中。

2024-03-16 22:40:39 786

原创 可重入函数

这意味着,即使该函数或过程被中断并在稍后的时间点再次被调用,它也不会产生错误的结果或导致数据不一致。在编程实践中,创建可重入函数通常意味着要非常小心地使用变量和同步机制,以确保函数的正确性和线程安全性。在多线程编程中,使用可重入函数是非常重要的,因为这样可以避免数据竞争、死锁和其他并发问题。在操作系统中,可重入代码是那些可以在任何时间被中断,然后稍后从中断点安全恢复执行的代码。:递归函数通常不是可重入的,因为它们可能会在执行过程中多次调用自己,这可能导致堆栈溢出或其他问题。

2024-02-25 17:32:50 248

原创 ROS2 discover 线程源码解析

connext结构体。

2024-02-20 21:13:31 235

原创 ROS2 Publisher-Subscriber源码解析

【代码】ROS2 Publisher-Subscriber源码解析。

2024-02-20 19:58:52 809

c++ stl 学习资料汇总

c++ stl 学习资料汇总

2024-02-27

空空如也

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

TA关注的人

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