yum
redhat系列linux的软件包管理工具(debian系列的软件包管理工具是apt-get)
操作:
yum list —查看所有软件包 yum search —搜索指定软件包 yum install—安装软件包
yum remove—移除软件包
vim
linux下常用编辑器之一
vim的操作模式
共有12种操作模式,常用的只有三种—普通,插入,底行
模式切换:
普通->插入:i a o 普通->底行:冒号 任意模式->普通:ESC
普通模式的常用操作:
光标移动:hjkl/ctrl+f/b/gg/G
文本操作:yy/nyy—复制 p—粘贴 dd/ndd/x/dw—剪切 u—撤销 ctrl+r反撤销
底行模式的常用操作
w—保存 q—退出 wq—保存并退出 q!—强制退出不保存
gcc/g++
C/C++编译器,将高级语言代码解释成为机器指令,能够被cpu识别执行
编译过程:
预处理:展开所有代码
编译:解释成为汇编代码
汇编:解释成为指令
链接:将所有的打包到一起生成可执行程序
链接方式
动态链接:链接动态库,只要库中的函数符号列表,运行依赖库
静态链接:链接静态库,获取库中的函数实现。
默认是动态链接
gdb
调试器,调试程序的运行过程,快速发现程序出错位置
调试的前题:只有debug版本程序能够被调试(程序中有调试信息)
gcc默认生成release版本,想要生成debug版本,需要使用gcc-g选项编译
开始调试:先使用gdb ./main加载程序
start逐步调试
run直接运行
常用调试指令:next—逐过程下一步 step—逐语句下一步 until—运行到指定行
list—查看调试代码 continue—继续运行 break—打断点
watch—变量监控 info break—查看断点 delete break—删除断点
backtrace—查看调用栈 print—打印或设置变量内容
make/Makefile
项目的自动化构建工具,避免手动每次编译的时候敲击编译指令
**Makefile:**文本文件,记录项目的构建规则,由make进行解释指令
Makefile的编写规则:
目标对象:依赖对象\n\t命令 预定义变量:$@(目标) $^(所有依赖) $<(第一个依赖)
伪对象:无论如何都要重新执行生成的对象,使用.PHONY声明
**make:**就是Makefile的解释器程序,逐行解释执行makefile中的构建规则
**make的执行规则:**找到第一个目标对象,查看依赖对象是否需要生成,先生成依赖对象(其他规则中的目标对象),然后再执行指令生成目标对象
main:main.o
gcc $^ -o $@
main.o:main.c
gcc -c $< -o $@
.PHONY:clean
clean:
rm -rf main.o main
git
项目的版本管理工具,避免硬盘坏了以前的代码没有了;协同开发;项目需求经常改动,需要保存不同功能版本代码
**操作:**git clone—克隆远程仓库
git add – all ./*—添加修改记录
git commit -m “备注”—提交本地版本管理
git push origin master—提交远程仓库