- 博客(12)
- 收藏
- 关注
原创 【VIMO】无法运行?记录踩过的那些坑
在学习VIMO论文时,复现代码出现了种种问题,这里记录一下,贴一下github地址VIMO Github地址(1)启动docker/bin/bash(2)在docker中输入(3)在主机终端输入(4)检查结果/clock/rosout/tf/tf_static这样,所以数据集就成功启动了(5)在主机中启动VIMO(6)成功。
2024-03-01 16:19:30 1024 3
原创 【C++】为什么使用静态库?为什么在编译和链接时要强调静态库与源文件的顺序?
对库文件中所有成员依次进行这个过程,不包含在E中的成员都将被抛弃,链接器接着处理下一个输入文件。(3)如果所有输入文件扫描完毕后,
2023-03-28 16:12:03 414
原创 【C++】【虚函数表】通过虚函数实现多态的机制和原理
Animal 的虚函数表包含 Animal::speak() 和 Animal::move() 两个函数的地址,Dog 的虚函数表包含 Dog::speak()、Dog::move() 和 Dog::fetch() 三个函数的地址。需要注意的是,为了使函数能够动态绑定到正确的虚函数,每个类必须具有自己的虚函数表。对于一个含有虚函数的类,其虚函数表通常会被放置在该类的编译单元中的静态存储区域(如 .rodata 或 .data 段)。每个含有虚函数的类都有一个虚函数表,该表包含了该类的虚函数的地址。
2023-03-26 15:36:35 319
原创 【C++】缺省参数和virtual函数造成的奇妙bug!
可见,当用一个父类指针或引用指向子类对象,实现多态时,无论子类虚函数中的缺省值是什么,都会使用父类的缺省值。而子类指针指向子类对象则不受影响。基类虚函数中的缺省参数会覆盖子类缺省参数。
2023-03-26 13:24:48 192
原创 【C++】类成员初始化方式?构造函数的执行顺序 ?为什么用成员初始化列表会快一些?
【C++】类成员初始化方式?构造函数的执行顺序 ?为什么用成员初始化列表会快一些?
2023-03-25 15:16:28 269
原创 【C++】虚拟基类(virtual Base Class)详解:为什么要有虚拟基类?
在虚拟继承中,派生类会继承多个基类的虚表指针,这些虚表指针需要存储在对象的内存中,导致对象的内存空间变得更大,同时也会增加对象的构造和析构的时间开销。在派生类的构造函数中,虚拟基类的构造函数会在其它基类的构造函数执行之前被调用,以确保虚拟基类在所有的子对象之前被初始化。在类D中,虚拟基类A只有一个副本,它被类B和类C所共享。在上面的图中,类D继承自类B和类C,而类B和类C都继承自类A。因此,在设计类继承关系时,需要权衡继承层次结构的复杂性和性能开销之间的平衡,尽量避免过度使用虚拟继承。
2023-03-25 14:56:17 1516
原创 【PX4】【mavlink】如何在ubuntu/linux中通过mavlink获取px4硬件发布的消息?
【PX4】【mavlink】如何在ubuntu/linux中通过mavlink获取px4硬件发布的消息?
2023-02-27 14:28:17 1181 3
原创 汇编中函数调用过程中,栈到底是怎样变化的?call、ret、指令分别有什么样的作用?
汇编中函数调用过程中,栈到底是怎样变化的?call、ret、指令分别有什么样的作用?
2023-02-20 17:09:13 1662
原创 【SLAM】为什么《手写VIO》中求雅可比的方式与《视觉SLAM十四讲》中不同?
问题:为什么《手写VIO》中求雅可比的方式与《视觉SLAM十四讲》中不同?在求解最小二乘问题时,我们应该注意:优化变量的更新方式要与雅可比矩阵的求解形式相对应。
2022-11-16 19:05:18 263
原创 【李代数求偏导】SLAM中李代数SE3求偏导左扰动模型和右扰动模型的区别
在学习SLAM的过程中,我一直对用左扰动模型和右扰动模型求SE3的偏导有疑惑,好奇他们的计算结果有什么区别。本文用《SLAM十四讲》ch7的实验验证了两者的差别。
2022-11-05 17:18:53 3371 1
原创 【C++】模板类出现链接错误“undefined reference to”!为什么 C++ 编译器对模板的分离式编译支持很弱??
为什么C++类模板无法分离编译?如何实现分离编译?
2022-10-19 16:59:52 2615
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人