如何解读fast-lio2中的 `IKFoM` 中的宏定义

如何解读fast-lio2中的 `IKFoM` 中的宏定义 - 掘金现象 :

1) build_manifold.hpp 中存在大量的宏定义

2) 它们大量使用到了Boost库的预处理(PP: preprocessor)模板元库的宏定义, 例如 BOOST_PP_SEQ_ENUM 宏用来将一个序列转换成数组, BOOST_PP_SEQ_TRANSFORM_S 宏则用来产生一个序列.

3) 这些宏层层嵌套引用, 最终组成了若干个更大的宏定义, 例如: MTK_BUILD_MANIFOLD

4) 这给阅读 fast-lio2 的代码和理解其数据结构和方法,   带来了比较大的困扰.

本文将一步一步教你如何解读 fast-lio2 中的这些宏定义, 使之回归普通的 C++ 代码.

KeyMessage 1: 本文讲解如何解析 fast-lio2 中的 IKFOM 的宏定义.

KeyMessage 2: 本文中一开始有较多宏解析过程的介绍, 若想直接看解析后的结果, 可以根据右边侧边栏上的 目录导引直接跳转到对应的章节, 如"Step1..." 、"Step2..."、"Step3..." 看最后解析完毕的C++代码.

Keymessage 3: 编写宏时, 会涉及大量boost的宏模板编程技术, 如BOOST_PP_SEQ_xxx 等; 但是在解读宏代码时, 则不需要了解太多 boost 的技术。 本文无需涉及 boost 库即可解读宏代码.

详细过程见如下 链接: ( 习惯了了其站点 markdown 的编写方式和样式, 一时还没有切换过来, 见谅: )

如何解读fast-lio2中的 `IKFoM` 中的宏定义 - 掘金讲解如何StepByStep解读fast-lio2中的 `IKFoM` 中存在大量的宏定义 特别是 build_manifold.hpp 文件种定义了大量的宏.https://juejin.cn/post/7152052712018804767

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值