目录
下面还有两个Linux中会用到的工具,一个是给git,可以叫版本控制器,就是对我们写的代码进行版本控制
一个是gdb,就是我们C语言/C++的代码调试工具
下面我们分别来介绍一下
git
git和Linux一样,也是一个开源项目,就是当初Linux的创始人林纳斯·托瓦兹创建的。git是一个开源的工具,那么他和gitee和github之间有什么关系呢?其实gitee和github只是一个网站,这个网站的底层用的还是给git,它不过是把底层git的信息显示到网站上,来满足人们的需求
那我们如何在gitee或github上建立远端仓库并且跟本地的仓库联系起来呢?我们以gitee为例
我们先在gitee网站上新建仓库
点击克隆
找到https的链接复制下来,然后到我们的Linux中输入
这样就把我们的远端仓库克隆到本地了,第一次克隆需要输入用户名邮箱的信息,在命令行中输入这个就行
下面是我们如何提交本地git和同步到远端git
我们克隆远端仓库到本地后本地就多了一个文件夹
我们要提交到本地git要首先把文件拷贝进这个文件夹
之后我们进入linuxcode这个文件夹,可以看到我们拷贝进来的文件
之后输入下面的指令
这样就提交到本地git了,如果像同步到远端,要进行git push命令
之后它会要求我们输入gitee的邮箱和密码,输完之后我们的远端git就更新了
上面是我们简单的一些操作,就负责提交本地和远端,下面还有几个命令帮助我们更好的学习git
git log可以查看历史提交记录
用了这个命令,那么你之前所有的提交信息都会显示出来
git status 看看还有没有什么文件可以提交的,查看状态
我们可以直接在linuxcode这个目录下删除我们拷贝进来的文件,因为删除操作也属于一种修改,所以删除后也可以commit和push
git pull 当我们多人合作时,每个人都会提交代码到远端,当远端的代码比我们本地的代码版本要新时,我们就必须先更新我们本地git的代码,就是pull拉取到本地,之后再push推送到远端
我们其实可以看到linuxcode这个目录下还有一些隐藏文件
其中.git这个文件中存放的就是我们的修改信息
.gitignore这个文件中放的是一些后缀,表示有这些后缀的文件就不要提交了,并且在我们改这个文件后,它也是即时生效的
gdb
下面我们说一下gdb,它是一个调试代码的工具,我们知道发布软件有两种方式,一种叫debug一种叫release,只有在debug版本下才可以调试,gcc默认是生成release版本,所以我们在gcc命令下要加一个-g来表示要生成debug版本,就像这样
debug版本下可以调试就是因为这个版本下的可执行程序加了调试信息,它占的空间也是比较大的,我们也可以对比一下
我们也可以通过下面的指令看到多的内容
上面是一些基本的知识,下面是gdb的一些常用的指令用于我们的调试
第一个是进入调试,quit是退出调试
l + 行号是显示指定行附近的代码
b是breakpoint,意思是打断点
比如
b 10在第十行打断点
b Sum在这个Sum函数的第一行打断点
b add.c:7指定文件和行号打断点
info b查看所有打过的断点
我们在打完断点后用info b可以看到
最前边一行就是每个断点的编号,我们如果想删除断点也需要通过编号来删除
d就是delete
d 2就是删除第二个断点
r就是run,直接执行完程序
enable/disable+断点编号 就是开启关闭断点
n是我们的逐过程调试,就是VS中的F10,不进入函数
s是逐语句调试,就是F11,进入函数
p+变量或地址 可以显示具体的内容
display +变量或地址可以常显示,这个也是有编号的
undisplay+编号可以去常显示
c可以使程序从上一个断点直接到下一个断点
bt可以查看调用堆栈
finish 是将一个函数运行结束就停下来
until+行号 是在某一范围内直接运行到指定行
set var可以修改一个变量的内容,比如:
我们这个指令的用处一般是给条件语句用的,一般不会执行到的条件语句我们可以赋值来执行到那,来判断我们的代码是否有误