嵌入式Linux的开发工具-vim、gcc、gdb、make、shell
vim(文本编辑器):学会使用和如何配置vim
gcc(编辑器):学会制作动态库和静态库及使用和区别;
gdb(调试器):设置断点、单步执行、调试内存错误;
make(工程管理器):编写makefile文件;
shell:(命令解析器):将用户输入的命令进行解析,调用相应的命令可执行文件
(1)vim
Linux文本编辑器:vim–功能最强大文本编辑器—摆脱鼠标
vi–vim–gvim:命令模式(nyy\p\ndd\u)、插入模式(i\a)、底行模式(shift+:)
按I/A进入编译,按esc退出,shift+:进入底行,wq保存退出,!强制退出,yy复制,p粘贴,U恢复。
如何配置vim?etc\vim\vimrc
这是vim最吸引人的一点,可以根据自己的习惯对vim进行配置,例set sw=4可以设置换行后前面保留四个空格,具体的vim配置语言可以自行搜索。
由于vim的开发效率低,现在逐渐被淘汰。
DE(集成开发环境):vscode
(2)gcc
编译器:gcc (GNU cc)
1、gcc特点(GNU工具、交叉编译器)
什么是交叉编译器?
交叉编译:在当前CPU平台下编译出在其他CPU平台下可执行的代码
源文件到可执行文件需要经历哪几个步骤?
预处理、编译、汇编、连接
预处理:头文件展开、宏替换、条件编译-E -I -D
编译:将预处理文件编译成汇编文件.s -S
汇编:将汇编文件编译生成目标文件.o -C
连接:建立符号表–可执行文件a.out
系统移植
从宿主机-----交叉编译-----目标机
(内核源码)
PC端 开发板或手机
-o 重命名可执行文件
<>:搜索路径在系统头文件目录(usr/include)
" ":搜索路径先在当前目录查找,找不到再到系统的头文件目录查找。
gcc常用编译选项:
-E -S -c -o -I -D
-Wall -w
-O1 -O2 -O3
-E 在预处理阶段停下来
-I指定头文件的第三方搜索路径
如:gcc hello.c add.c -Itest
-D 在外部定义一个宏
gcc -S hello.c 编译:将预处理文件编译成汇编文件
(汇编文件是hello.s)
gcc -c hello.c汇编:将汇编文件编译生成目标文件
(最后生成hello.o目标文件)
gcc hello.c -o hello (可执行文件的重命名)
-w 关掉警告
-wall 开警告