Linux编译器--git、yum、gdb的使用

这篇具有很好参考价值的文章主要介绍了Linux编译器--git、yum、gdb的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、git

1.1 git的发展史

雷纳斯-托瓦兹在开源了linux后全世界的很多人都要给linux提供代码,他需要合并代码。但是一个人的精力有限。无法完成,他就自己写了一个版本控制工具git。来控制自己的代码,并且也开源了。

linux和git就不断迭代,也不断进步。后来有人对git进行了商业化包装,形成了github和gitee。

1.2 安装git

yum install git
//普通用户加sudo

git就是一个版本管理工具,提供了不同版本的获取和可视化接口。
在实际的开发中挺重要的。
git是一个版本控制器,gitee是为了让git不要客户端,直接在浏览器上可以访问/操作。
gitee/github是基于git建立的网站。多人协同的时候很好用。

1.3 使用gitee创建项目

首先需要注册自己的用户,这个就不用多说 了。

.gitignore : 忽略控制文件。里面是很多文件的后缀。
在这里面有的后缀名,都不会被上传到gitee上去。

1.4 下载项目到本地

首先在gitee上创建一个仓库,再将这个仓库的链接克隆下来
git clone [url]
[url] 就是远端仓库的地址

1.5 git的三板斧

1.5.1 第一招:git add

git add [文件名]
将需要用git管理的文件告知git

1.5.2 第二招:git commit

git commit -m "提交日志"
注意:提交日志不能胡写

1.5.3 第三招:git push

git push

第一次提交或者修改过密码就会让你输入邮箱
以后每次输入需要输入用户名和密码
但是也可以设置免密

1.5.4 同步删除文件怎么办

先用
git rm [文件名]
然后再
git commit -m "提交日志"
最后再
git push

一般要对git里面的文件做操作一般前面都要加git[指令],然后git commit 最后git push 这样做远端也就被删除了。

1.5.5 远端的代码改了(没删除)怎么办

这个时候远端和本地仓库不一致了,我们在提交的时候,直接push就会发生冲突

要先把远端拉到本地同步以下
git pull
然后再次重新
git push

就是要把远端先拉到本地pull再commit,然后重新提交push

1.5.6 查看提交日志

git log 提交记录
git status  查看在你上次提交之后是否有对文件进行再次修改

1.5.7 远端删除了文件本地没有删除怎么办

这个时候我们再次push文件的时候就会发生冲突,提交不上去。
首先需要pull,再提交我们的文件 push,即可解决

二、yum

2.1 Linux下安装软件的方式

在Linux下安装软件的方法大概有以下三种:

1.下载到程序的源代码,自行进行编译,得到可执行程序。
2.获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)
3.通过yum进行安装软件(常用)

2.2 认识yum

yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
注意:一个服务器同一时刻只允许一个yum进行安装,不能在同一时刻同时安装多个软件。
因为yum是从服务器上下载RPM包,所以在下载时必须联网,可以通过ping指令判断当前云服务器是否联网。

2.3 查看软件包

yum list

使用yum list指令,可以罗列可供下载地全部软件。
说明

1.软件包名称:主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构。
2."x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包,选择包时要和系统匹配。
3."el7"表示操作系统发行版的版本,“el7"表示的是"centos/redhat7”,“el6"表示"centos6/redhat6”
4.最后一列表示的是“软件源”的名称,类似于“小米应用商店”,“华为应用商店”这样的概念。
这里以查找sl为例

yum list | grep sl

由于包的数量非常多,所以我们可以使用grep指令筛选出我们所关注的包。

2.4 安装软件

sudo yum install sl

yum会自动找到都有哪些软件包需要下载,这时候敲“y”确认安装,当出现“complete”字样时,说明安装完成。
注意

1.安装软件时由于需要向系统目录写入内容,一般需要sudo或者切换到root账户下才能完成。
2.yum安装软件只能一个装完了再装另一个,正在使用yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错。

2.5 如何实现本地机器和云服务器之间的文件互传

既然已经安装了lrzsz,这里就顺便说以下lrzsz如何使用。
指令: rz -E
通过该指令可选择需要从本地机器上传到云服务器的文件。
指令:sz 文件名
该指令可将云服务器上的文件下载到本地机器的指定文件夹。

2.6 卸载软件

sudo yum remove sl

yum会自动卸载该软件,这时候敲”y“确认卸载,当出现”complete“字样时,说明卸载完成。

三、gdb

3.1 gdb使用须知

程序发布方式

1.debug版本:程序本身会被加入更多的调试信息,以便于进行调试。
2.release版本:不会添加任何调试信息,是不可调试的。
在Linux当中gcc/g++默认生成的可执行程序是release版本的,是不可被调试的。如果想生成debug版本,就需要在使用gcc/g++生成可执行程序时加上-g选项。
对同一份源代码分别生成其release版本和debug版本的可执行程序,并通过ll指令可以看到,debug版本发布的可执行程序的大小比release版本发布的可执行程序的大小要大一点,其原因就是以debug版本发布的可执行程序当中包含了更多的调试信息。

3.2 gdb命令汇总

进入gdb

gdb 文件名

调试

run/r :运行代码(启动调试)
next/n:逐过程调试
step/s:逐语句调试
until 行号:跳转至指定行
finish:执行完当前正在调用的函数后停下来(不能是主函数)
continue/c:运行到下一个断点处
set var 变量=x : 修改变量的值为x

显示

list/l n: 显示从第n行开始的源代码,每次显示10行,若n未给出则默认从上次的位置往下显示。
list/l 函数名: 显示该函数的源代码
print/p 变量 : 打印变量的值
print/p &变量 : 打印变量的地址
print/p 表达式 : 打印表达式的值,通过表达式可以修改变量的值
display 变量 : 将变量加入常显示(每次停下来都显示它的值)
display &变量 : 将变量的地址加入常显示
undisplay 编号 : 取消指定编号变量的常显示
 bt : 查看各级函数调用及参数
 info/i locals : 查看当前栈帧当中局部变量的值

断点

break/b n : 在第n行设置断点
break/b 函数名 : 在某函数体内第一行设置断点。
info breakpoint/b : 查看已打断点信息
delete/d 编号 : 删除指定编号的断点
disable 编号 : 禁用指定编号的断点
enable 编号 : 启用指定编号的断点

退出gdb文章来源地址https://www.toymoban.com/news/detail-807507.html

quit/q : 退出gdb

到了这里,关于Linux编译器--git、yum、gdb的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用

    格式: gcc [选项] 要编译的文件 [选项] [目标文件] , gcc / g++ 安装: sudo yum install -y gcc-c++ 。安装后的编译器默认的版本是较低的,我们可以 使用选项 -std=c99 (即使用c99标准), -std=c++11 (即使用c++11的标准)来进行版本提升 。使用 -o 选项,可以将编译生成的可执行重命名

    2024年03月10日
    浏览(103)
  • Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)

            在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.         但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这

    2024年02月05日
    浏览(86)
  • 【linux】2 Linux编译器-gcc/g++和Linux调试器-gdb

    ヾ(๑╹◡╹)ノ\\\" 人总要为过去的懒惰而付出代价 ヾ(๑╹◡╹)ノ\\\" 程序(文本)——机器语言(二进制) 预处理 (进行宏替换) 编译(生成汇编) 汇编(生成机器可识别代码) 连接(生成可执行文件或库文件) 为什么计算机只认识二进制? 组成计算机的各种组件只认识二进制

    2024年02月11日
    浏览(42)
  • [linux初阶][vim-gcc-gdb] TwoCharter: gcc编译器

    目录 一.Linux中gcc编译器的下载与安装 二.使用gcc编译器来翻译 C语言程序  ①.编写C语言代码 ②翻译C语言代码 a.预处理 b.编译  c.汇编  d.链接 ③.执行Main 二进制可执行程序(.exe文件)  三.总结  使用yum命令(相当于手机上的应用市场)来进行安装.  下载完毕之后,使用 which gc

    2024年04月10日
    浏览(60)
  • 【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用(1编译器)

    作者:爱写代码的刚子 时间:2023.6.3 本篇博客主要详细介绍Linux中十分重要的工具:编译器,灵活使用这些工具是Linux中一项必备技能。项目自动化构建工具、调式器、git工具会在下一篇博客中进行介绍。 Linux编译器-gcc/g++使用 gcc编译C语言: g++编译C++: gcc只能编译C语言,而

    2024年02月09日
    浏览(69)
  • 【linux】编译器使用

    目录 1. gcc ,g++ 编译器使用 a. 有关gcc的指令(g++同理) 2. .o 文件和库的链接方式 a. 链接方式 b. 动态库 和 静态库 优缺点对比 c. debug 版本 和 release 版本 注意: linux下自带gcc编译器,如果要安装g++编译器; sudo yum install -y gcc-g++ (普通用户) gcc + 文件名 得到可执行文件 gcc + 文

    2024年04月26日
    浏览(39)
  • 【Linux】Linux编译器--vim的使用

    😁作者:日出等日落 🔔专栏:Linux 当你还不能对自己说今天学到了什么东西时,你就不要去睡觉。                ——利希顿堡 目录 vim是什么 vim安装  vim的基本概念 vim的基本操作  vim正常模式命令集 vim末行模式命令集      vi/vim的区别简单点来说,它们都是多模式编

    2024年02月05日
    浏览(46)
  • Linux编译器vim的使用

    vim是Linux下的一个多模式的编译器 简单来说就是写代码的工具 不提供编译调试等功能 有语法高亮功能 可视化操作不仅可以在终端运行 还可以运行与x windows mac os windows 1、命令模式 控制光标的移动 字符,字或行 的删除 ,移动复制某区段 以及切换到插入模式和底行模式下

    2024年02月06日
    浏览(49)
  • Linux--编译器-gcc/g++使用

    目录 前言 1.看一段样例  2.程序的翻译过程 1.第一个阶段:预处理 2.第二个阶段:编译 3.第三个阶段:汇编 4.第四个阶段:链接 3.程序的编译为什么是这个样子? 4. 关于编译器 5.链接(动静态链接) 1.首先,我们来看一段样例(见一下) 2.见完之后,我们来看一下程序的翻译

    2024年02月20日
    浏览(64)
  • 【Linux】03 GCC编译器的使用

     在使用gcc编译程序时,编译过程可以简要划分为4个阶段:         预处理、编译、汇编、链接 这个阶段主要处理源文件中的#indef、#include和#define预处理命令; 这里主要是把一些include的头文件和一些宏定义,放到源文件中。 编译命令: gcc  -E  -o  hello.i  hello.c 将经过预处

    2024年01月20日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包