一、文本编辑器 vi vim gedit gvim vim 可高度自定义,适合单个软件开发
二、编译器 gcc
三、库
四、调试器 gdb 资源占有少,免费开源,缺少图像显示,适合小程序开发
五、工程管理器 make(批量处理)自动化编译,提高开发效率
为什么使用要学Linux工具,它的优势和作用?
1、可定制 2、开源 3、便携 4、体积小 5、提高开发效率
其他开发环境和IDE
vs code 相对其他IDE(集成开发环境)小,便捷,功能没有VS 2019 Qt强大
vs 2019 功能强大,体积大,响应慢
Qt
1、文本编译器 vim(单体文件编辑,可高度定制)
三种模式
命令行模式 esc
插入模式 a或I
底行模式 命令行模式下 ”:“ wq 保存退出 q!不保存退出
2、编译器 gcc
编译过程:1、预处理 头文件展开,宏定义替换,条件编译 编译选项 -E
2、编译 检查错误,生成汇编文件后缀名.s 编译选项 -s
3.汇编 编译成二进制 后缀名.o 编译选项 -c
4、链接 编译成了执行文件 后缀名.elf
.elf特点:
ELF:可执行连接文件格式。
ELF文件优点:
1. 支持不同平台上的交叉编译和交叉链接,可移植性性强
2. 在执行时支持动态链接共享库
特点:
1、包含多平台相关信息,信息编译时由编译器决定
2、生成一种与位置无关的代码——地址无关码,这种代码可在任意位置正确运行,不受绝对地址影响
3、有GNU协议下的大量工具支持
三级优化
O0不优化
O1 优化代码
O2