《视觉SLAM十四讲从理论到实践 第二版》课后习题——ch2

 1.  阅读文献 [1] 和 [14],你能看懂其中的内容吗?

文献[1]主要专注于对基于单目视觉的 SLAM方法的分析和讨论,系统地介绍和分析目前 3类主流单目 V-SLAM方法的优缺点,,并对它们的代表性系统进行性能分析和比较。另外,也介绍和讨论了 V-SLAM技术的最新研究热点和发展趋势(2016年),并进行总结和展望。

文献[14]从帧间配准、环形闭合检测以及图优化技术 3 方面出发,对基于图优化的 SLAM 技术进行综述。

2.  * 阅读 SLAM 的综述文献,例如 [9, 15-18] 等。这些文献中关于 SLAM 的看法与本书有何异同?

文献[9]

文献[15]

文献[16]

文献[17]

文献[18]

3.  g++ 命令有哪些参数?怎么填写参数可以更改生成的程序文件名?

gcc -E *.c


-E,只执行到预编译,直接输出预编译结果。

gcc -S *.c


-S,只执行到源代码到汇编代码的转换,输出汇编代码。

gcc -c *.c

-c,只执行到编译,输出目标文件。

gcc (-E/S/c/) *.c -o <output_filename>

-o, 指定输出文件名,可以配合以上三种标签使用。参数可以被省略。这种情况下编译器将使用以下默认名称输出:生成名为a.out的可执行文件。
-E:预编译结果将被输出到标准输出端口(通常是显示器)
-S:生成名为source_file.s的汇编代码
-c:生成名为source_file.o的目标文件。

gcc -g *.c

-g,生成供调试用的可执行文件,可以在gdb中运行。

gcc -s *.c

-s, 直接生成与运用strip同样效果的可执行文件(删除了所有符号信息)。

gcc -O *.c

-O(大写的字母O),编译器对代码进行自动优化编译,输出效率更高的可执行文件。

gcc -Wall *.c

-W,在编译中开启一些额外的警告(warning)信息。-Wall,将所有的警告信息全开。

gcc *.c -L/path/to/lib -lxxx -I/path/to/include

-l(小写L),指定所使用到的函数库,本例中链接器会尝试链接名为libxxx.a的函数库。
-L,指定函数库所在的文件夹,本例中链接器会尝试搜索/path/to/lib文件夹。
-I(大写i),指定头文件所在的文件夹,本例中预编译器会尝试搜索/path/to/include文件夹。

4.  使用 build 文件夹来编译你的 cmake 工程,然后在 KDevelop 中试试。

5.  刻意在代码中添加一些语法错误,看看编译会生成什么样的信息。你能看懂 g++ 的错误信息吗?

6.  如果忘了把库链接到可执行程序上,编译会报错吗?报什么样的错?

7.  * 阅读《cmake 实践》,了解 cmake 的其他语法。

8.  * 完善 Hello SLAM 的小程序,把它做成一个小程序库,安装到本地硬盘中。然后,新建一个工程,使用 find_package 找这个库并调用它。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值