软件包管理工具:yum
基本程序开发工具:
编辑器:vim
编译器:gcc/g++
调试器:gdb
项目的管理工具:
项目的自动化构建工具:make/Makefile
项目的版本管理工具:git
一.yum
在linux下维护安装/移除应用工具
查看有哪些软件包:yum list/yum search name 安装软件包:yum install package name
移除安装包:yum remove package name
二.vim
vim工作模式:12种,常用的有三种
普通模式:完成对文本内容指令操作
插入模式:向文本内插入数据
末行模式:保存文件内容以及退出编辑
模式间的切换
(1)普通_>插入:
i:光标所在字符开始插入数据
I:光标移动到行首,开始插入
a:光标向后移动一个字符,开始插入
A:光标移动到行尾,开始插入
o:向光标所在行下方新建一行,开始插入
O:向光标所在行上方新建一行,开始插入
(2)插入_>普通:Esc
(3)普通_>末行:冒号
(4)末行模式下的操作:
:w 保存
:q 退出
:wq 保存并退出
:q! 强制退出(不保存)
普通模式下的操作:
光标移动:
hjkl上下左右
wb 按单词移动
ctrl+f/b上下翻页
gg=G首行/尾行
内容操作:
yy 复制光标所在行内容
nyy 从光标所在行开始向下开始复制n行数据
p 向光标所在行下方粘贴新行
P 向光标所在行上方粘贴新行
dd删除光标所在行
ndd 从光标所在行开始向下删除n行数据
vim中的删除就是剪切
x 删除光标所在字符
dw 删除光标所在单词
D删除当前行光标以后的数据
其他操作:
u撤销上一步操作
ctrl+r反向撤销
gg=G全文对齐
三.gcc/g++
(1)预处理:展开代码
(2)编译:进行语义语法检查,将代码编译成汇编代码
(3)汇编:将汇编代码解释成二进制机器指令
(4)链接:将当前代码以及函数库还有其他文件代码打包生成可执行程序
链接方式分类
动态链接
静态链接
gcc默认的连接方式是动态链接
四.gdb
程序调试的前提:生成一个debug版的程序,程序中添加了调试符号信息
linux下gcc编译器默认生成的是release版的程序,不包含调试符号信息,无法调试,编译程序时需要添加gcc -g选项,生成debug版程序
gcc常见选项
-E完成预处理就会退出
-S完成编译阶段就会退出
-c完成汇编阶段就会退出
-o用于指定要生成的目标文件名称
-g生成debug 版程序
调试的流程控制命令
1.开始调试命令:
run程序开始运行 start开始逐步调试
2.调试的流程控制命令:
list 查看指定文件附近的代码 list filename :line
step:下一步,若当前调位置是函数则会进入函数
next下一步,直接运行这一行函数
until:直接运行到指定文件的指定行 until filename :line
continue:从当前位置继续运行
3.断点相关命令
break:打断点 break filename : line into
break 查看当前断点信息
delete删除断点
watch变量监控,当前内容发生变化则停下来 watch varible name
4.其他命令
backtrace查看程序运行的调用栈信息----快速定位程序崩溃位置(程序崩溃后,栈顶函数就是出问题的函数)
quit退出调试
五.项目相关工具
makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
make是一个命令工具,是一个解释makefile中指令的命令工具
Makefile编写规则: 目标对象:依赖对象
\t 要执行的指令