在研究SLAM领域的过程中,最常用的编辑器为CLION和Vscode两个,这篇文章中对这两个编辑器进行总结。(当然可能是一篇水文,在阅读代码的过程中到底如何打断点,如何推断变量的作用以及监控变量的取值,这些还是要靠自己日积月累的锻炼)
Ubuntu下录频软件的推荐:
Simple Screen Recorder
(安装代码如下,直接在命令行里面复制黏贴下列三行,即可得到一款自己心仪的录频软件)
#添加源
sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
#更新源
sudo apt-get update
#安装
sudo apt-get install simplescreenrecorder
Release模式 VS Debug模式
首先这两种模式需要在cmakelistl.txt里面进行设置,相关语句为:
SET(CMAKE_BUILD_TYPE “Debug”)
Or
SET(CMAKE_BUILD_TYPE “Release”)
以上语句就可以设置release模式和debug模式两种。
Q:Debug和Release模式的不同
A:①Debug通常称为调试版本,通过一系列编译选项的配合,编译结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。
②Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试,所以不保存调试信息,同时它往往进行了各种优化,以期达到代码最小和速度最优,为用户的使用提供便利。
③Debug跟Release在初始化时所做的操作是不同的,Debug是将每个字节都赋值成0xcc,而release的赋值接近于随机。
总的来说,debug对编程人员非常友好,但是其代码没有被系统进行优化,所以运行时间长。而release模式是专门将代码发布出去的,经过编译系统的底层优化,所以代码运行速度快,代码的占用空间小,利用用户的使用。
VSCODE的三种安装方法:
1、Ubuntu商店里面直接安装,这种好像说注释里面敲不了中文?
2、命令行安装:1. sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make2. sudo apt-get update3. sudo apt-get install ubuntu-make4. umake ide visual-studio-code
3、百度搜vscode 官网进行安装
(安装的话没啥难度,直接百度搜一搜安装vscode,一般都有教程,这个有手就行)
启动方式: 我喜欢敲code . 当然这个因人而异 这个就跳过了没啥好写的
拓展包:打开vscode界面以后左面那一条中有个扩展的选项,里面是一些扩展的选项,可以自行根据需要安装,有汉化包、括号上色、c编译器、java、python等等等,这些可以自行搜索vscode最实用的插件,这些网上都有,可以根据自己的喜好自行下载。
Vscode里面有个多文件编译,里面需要自行配置launch.json和tasks.json
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",// 配置名称
"type": "cppdbg", // 配置类型
"request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)
"program": "/home/", // !将要进行调试的程序的路径
"args": [""], // !可执行文件的参数
"stopAtEntry": false,
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,${workspaceRoot}即代码所在目录
"environment": [],
"externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
这里面需要更改的地方则是调试程序的路径和执行文件时所需要输入的参数
给使用虚拟机的小伙伴一条建议:
针对虚拟机,我的建议是拿来练一练cmake,看一看slam源码,并且跑跑作者开源的数据集是完全没压力的,但是如果真的要进行SLAM部署的话,还是建议装一个Ubuntu的系统,直接插上u盘,疯狂按delete键,进入bios,然后选择启动项,然后重启电脑,try Ubuntu一下,然后点下一步,安装就基本ok。这里的话,一个建议,就是先装Windows 再装Ubuntu,不要问为啥,问就是如果先装了Ubuntu 你大概率安装Windows的时候会把Ubuntu覆盖掉。
解决ros安装过程中 sudo rosdep init报错
A:这个情况100%就是没用外网的原因,有一个比较方便省事的途径,那就是从一台装了ros的电脑里面拷贝一下.ros文件,这个需要ctrl+h显示隐藏的文件,因为Ubuntu里面以.开头的文件都是隐藏的。然后就可以直接roscore 看看ros能不能启动嘞
段错误:是指访问了不可访问的内存,例如访问了不存在的内存地址,访问了系统保护的内存地址,访问了只读的内存地址等等情况。
(可能面试的时候会考叭 简单记忆一下即可)Const * const 指针的记忆:其实就看 const 的位置。const,在指针的星号之前,那么就是指向const 的指针,也就是 *p 的内容是常量,不能被改变。
const 在星号之后的话,那么 ,指针是const的,也就是这个指针指向的地址,不能被改变的,所以,const 指针就必须进行初始化,然后这个地址就是一直被固定住了,不能内改变的。
这篇是对debug的一个总结,其中知识点的话还是靠平时的积累,这篇文章的话算是水文一篇。 结束,写于2022.12.19