一yum三板斧
OS下载的大多数软件肯定不是自带的,Linux上的软件也是如此,需要下载软件时要有搜索、下载和安装的功能,通过类似服务器的途径像软件发布平台申请,然后让软件安装到Linux上,yum就是一个Linux能下载软件的工具-->软件包管理器。
第一板:yum list 软件包关键字 常常配合管道 |
yum源:其实yum源里存的就是一些链接,我们国家没有直接使用外网链接,为了安全和高效,把大多数链接放到镜像网站上。
更新yum源就是做替换,一些配置文件上的。
扩展源:
第二板:yum install -y 要安装的软件 常常要在开头加上sudo
第三板:yum remove 要删除的软件
二git三板斧
git是一个版本控制器,git是Linux之父写的一个工具。
预备:git clone 你的gitee仓库链接
第一板:git add 你要提交的文件 ------>添加到本地仓库
第二板:git commit -m “你的提交日志” ----------->提交代码到仓库
第三板:git push ---------------->提交代码到远端仓库
有时候可能会有提交冲突,常见短时间内多人多次提交,无脑git pull即可
.gitignore 带有某些后缀的文件不想提交到仓库,添加那些后缀进去这个文件
三gcc/g++
回顾程序翻译的过程:
预处理:去注释、宏替换、头文件展开、条件编译……
编译:由C生成汇编
汇编:由汇编生成机器可识别的可重定向二进制目标文件
链接:链接多个.obj文件,生成可执行程序
动静态库:调用函数时,如果把源代码都预先放到程序里,那样生成可执行效率不会高的。于是,如果把常用的函数方法都放到动静态库里,并且这个动静态库可供程序员们自己写或者修改,那样就可以配合着头文件,建立关联,只要把库里的函数实现方法的标识放到头文件,当要调用函数的时候,由头文件识别,也可以说是地址,然后找到动静态库里的方法,那样效率就高多了。链接的过程不仅仅只是将文件链接到一起,还要把动静态库链接到可执行程序中。
有了动静态库,就有了对应的动静态链接。
动态链接:将库中实现方法的地址,填入可执行程序中,建立关联,依赖库,但是节省资源。
静态链接:真的将方法拷贝到程序中去,虽然不再依赖动静态库,但是占用资源。
iso:
让gcc在预处理结束后停止编译
只进行编译而不进行汇编,生成汇编代码
让汇编代码转换为二进制目标代码
链接生成可执行程序
四.项目自动化构建工具make、makefile
make是一条命名,makefile是一个文件,两者配合使用。
五.gdb
gcc/g++默认程序以release发布,无法被调试
如果要让程序以debug发布,带上-g选项
退出gdb
gdb具有记录功能:输入一条指令后,按回车就可以再执行一次
显示代码:l
b 行号:设置断点
info b :查看断点
d 断点编号:删除断点
(换了一段代码)
disable:关闭断点
enable:打开断点
r:开始调试,如果没有断点,运行到结束
bt : 调用堆栈
n :相当于vs上的F10n
s :相当于vs上的F11
until 行号:跳转至某一行,不建议从一个函数直接跳转到另一个函数
finish:进入了一个函数内,finish能走完这个函数并且显示一些数据
p 变量:查看变量,但是得记住查看的是哪个,它也是显示编号的
display 变量:长显示,只要有变化,带上变量名,一直显示。
undisplay 编号:取消长显示。