基本知识点
命令指令
$ 符号 变量后边的值
echo 打印信息 到屏幕
eg: 在ros 下 打印环境变量
env 打印环境变量
grep 管道输出
env | grep PATH
echo $PATH
vim 使用
1、三种模式
末行 模式
: wq 保存退出
: w 保存
: ! 不保存退出
: !(添加命令)
: (数字) 跳转到行
2、命令模式
3、编辑模式
vi 分屏
水平分屏 :sp 切换 Ctrl + w w
垂直分屏 :vsp 复制当文件
打开新的 :vsp 文件名字
eg :vsp hello.cpp
etc/配置文件
gcc 编译过程
1、gcc -E hello.cpp -o hello.i预处理 .i 后缀
( 把头文件展开 ,宏替换 )
2、gcc-S hello.i -o hello.s 编译(生成汇编语言
3 、gcc -c hello.s -o hello.o
4 、gcc hello.o -hello 可执行文件hello (链接器)
直接生成可执行程序
gcc hello.cpp -o hello
gcc hello.c -I ./include -o hello
-D
-O 优化程序 -O0 -O1 -O2
静态库制作
1、命名规则 lib+库的名字+.a
eg libmytest.a
2、将生成的.o文件打包 ar rcs +静态库名字(libmyttest.a)+ 生成的所欲.o文件 。
3、 发布和使用
发布静态库
头文件 测试静态链接库的例子
gcc main.c lib/libmytrest.a -o sum -I include
动态链接库 .so
程序运行到这里时 才会被加载
动态库需要 动态链接器 (根据环境变量 来查找动态库)
LD_LIBRARY_PATH(环境变量值)
给它赋值 并且导入
export LD_LIBRARY_PATH=…/lib
终端配置文件 bashrc
source .bashrc
GDB 调试
以mysort 为例子
gcc *.c -o app -g(-g 调试参数)