Linux——环境开发基础(vim、gcc、yum、git、gdb)

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

目录

1.Linux编辑器——vim使用 

2.Linux编译器——gcc/g++

3.Linux项目自动化构建工具——make/Makefile

4.Linux软件包管理器——yum

5.Linux调试器——gdb


前言:因为篇幅原因,本文着重列出命令,小伙伴下去自己尝试,只有多使用才能真的记住! 

1.Linux编辑器——vim使用 

vim是一款多模式的编辑器

——命令模式(默认打开的模式

——编辑/插入模式(输入i)(输入ESC回退到命令模式)

——底行模式(输入shift + :)(输入ESC回退到命令模式)

——替换模式(shift+r)

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum


常见命令:(括号里的相当于解释,在输入命令时不需要)

yy:将当前光标所在的行,复制          nyy(n代表具体数字,复制n行)

p:将复制行进行粘贴                         np(复制n倍)

dd:将当前光标所在的行进行剪切(删除)  ndd(删除n行)+p(删除粘贴->剪切)

u:撤销操作

ctrl+r:撤销u操作

shift+g:光标定位到文件的结尾            

n+shift+g:光标定位到文件的任意行

gg:光标定位到文件的最开始

shift+6(^):将光标定位达到当前行的最开始

shift+4($):将光标定位到当前行的最结尾

w,b:以单词位单位进行光标的前后移动(w后,b前)

h,j,k,l:左,下,上,右

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

shift+~:大小写切换

shift+r:进入替换模式

r:替换光标所在的字符                      nr(替换n个字符)

x:删除光标所在的字符(从左到右)  nx(删除n个字符)

shift+x(X):删除光标所在的字符(从右到左)


底行模式:(光标在哪个屏就是哪个文件的底行)

set nu:显示行号

set nonu:取消行号

vs 文件名:分屏操作

w:写入    w!强制写入

q:退出    q!强制退出

ctrl+w+w:多分屏切换光标

!cmd(cmd是执行命令):不退出vim执行对应的命令(执行命令行,编译,允许,查看man)等


可视模式: ctrl+v(未完待补充)

vim的多行注释:

    命令模式下ctrl+v进入可视化模式

    使用hjkl选中需要的区块

    shift+i进入插入模式

    //输入注释,按下Esc实现多行注释

vim的取消多行注释:

    命令模式下ctrl+v进入可视化模式

    使用hjkl选中需要的区块

    直接按x或者d就可以直接删除,再按Esc退出

2.Linux编译器——gcc/g++

g++没有输入命令:

sudo yum install -y gcc-c++

gcc没有输入命令:

sudo yum install -y gcc

gcc是一个专门用来编译链接c语言的编译器

程序翻译的过程:

    文本的C->计算机二进制

1.预处理(a.去注释    b.宏替换    c.头文件展开    d.条件编译 ...)

——预处理了还是C语言吗?

答:还是C语言

2.编译(C->汇编)

3.汇编(汇编->可重定向二进制目标文件)

4.链接(链接->多个.o,.obj->合并形成一个可执行).exe

查看版本:

gcc -v
g++ -v

gcc 源文件 -o 可执行文件        #形成可执行文件

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

或者可以这样写:gcc -o 可执行文件 源文件

预处理:

#-E:从现在开始进行程序的翻译,如果预处理完成就停下来!

gcc -E 源文件 -o 临时文件.i(预处理文件)

编译:

#-S:从现在开始进行程序的翻译,如果编译完成就停下来!

gcc-S 临时文件.i -o 临时文件.s

汇编:

#-c:从现在开始进行程序的翻译,如果汇编完成就停下来!

gcc -c 临时文件.s -o 可重定向可执行文件.o(二进制)

链接:

gcc . o文件 -o 可执行程序


动静态库:

ldd 可执行程序——查看库

file 可执行程序——查看使用什么链接方式

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

一般链接的过程,是有两种方式的:

a.动态链接——需要动态库(.so)    windows下:.dll

b.静态链接——需要静态库(.a)      windows下:.lib

动态链接:将库中我要的方法的地址,填入我的可执行程序中,建立关联!(节省资源)

静态链接:将库中方法的实现,真的拷贝到我们的可执行程序中!(占用资源)


gcc、g++默认形成的可执行程序是动态链接的! 

如何静态链接?加—static!

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

-static:表明使用静态链接的方式形成可执行程序!

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

你的机器可能因为没有静态库,而导致链接失败!

动态链接必须使用.so动态库文件

静态链接必须使用.a静态库文件

sudo yum install -y glibc-static             #C静态库
sudo yum install -y libstdc++-static     #C++静态库

3.Linux项目自动化构建工具——make/Makefile

make是一个命令

Makefile是一个文件

存在价值:自动化的构建项目

编写Makefile:a.依赖关系    b.依赖方法

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

make自顶向下扫描,只会自动形成第一个遇到的目标

要想生成下面的:make 目标

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

.PHONY总是被执行的!

——总是会根据依赖关系执行依赖方法!

——习惯:给clean设置.PHONYLinux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

Makefile如何知道我们的可执行程序是最新的??

——根据文件的修改时间(比较可执行程序和源文件的时间,源文件时间比可执行程序晚就会执行make

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

Access:访问时间

Modify:内容修改时间

Change:属性修改时间

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

多文件Makefile:

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

执行结果:

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum


4.Linux软件包管理器——yum

1.你要下载安装的软件是在你的电脑上面吗?

    不是,是在软件开发平台

2.如果不在,你怎么知道在哪里的?

    我不知道,yum知道

3.谁放的?

    Linux社区或者对应的开发人员

yum作用:a.搜索,下载,安装    b.解决依赖关系

一般原生的Linux系统,内置的下载链接基本都是自己配套的国外的网址

yum的操作

yum源:一个配置文件 

查看yum源:ls /etc/yum.repos.d

yum三板斧:

1.#yum list | grep xxxx            查找yum列表

2.#sudo yum install -y 安装软件

3.#sudo yum remove 你的软件         #移除


git——版本控制器

    雷纳斯托瓦丝,自己着手写一个版本控制器!——git

git三板斧:

#git clone 你的git仓库链接

1.#git add 你的文件  #添加我们的代码到本地仓库,git add .把所有文件到本地仓库

2.#git commit -m “这里必须写提交日志"

3.#git push                                                    #提交我们的代码到远端仓库

git log                            #查看提交记录

冲突解决:

git pull                            #同步 

阻止一些后缀文件上传:在.gitignore文件中

git rm   #可以删除


5.Linux调试器——gdb

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

gcc,g++默认形成的可执行程序搜索release的!故无法直接被调试!(默认动态链接形成)

要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项

 Linux——环境开发基础(vim、gcc、yum、git、gdb),我在地球学Linux,linux,vim,git,gdb,Makefile,yum

gdb会记录最近一条命令,如果命令没变化,可以直接回车!

gdb命令:

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

r:开始调试,如果没有设置断点,就直接运行结束!
l:查看代码
b+行号:给特定的行号打断点
info b:查看断点(包含断点的编号)
d 断点编号:删除断点
n:逐过程,等同VS的F10
p 变量名:打印变量内容
s:逐语句,等同VS的F11 
bt:查看当前的调用堆栈
finish:将当前函数跑完,就停下来
display:设置长显示
undisplay 编号: 取消长显示
until:跳转到指定行
c:运行至下一个断点处会停下来!
disable/enable 断点的编号:使能(关闭和打开)断点

到了这里,关于Linux——环境开发基础(vim、gcc、yum、git、gdb)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Linux基础环境开发工具的使用(yum,vim,gcc,g++)

    首先先说明一点: Centos系统适用于yum 而Ubanto适用于apt-get 在Linux中我们也要进行工具/程序/指令的安装,检查和卸载, 而我们安装软件的方式: 1.源代码安装-需要进行交叉编译的工作 一般那些很强的程序员中的大佬才能拿捏 2.rpm包直接安装,也很麻烦 3.yum直接安装 这就需要用到y

    2024年02月06日
    浏览(45)
  • Linux基础工具的使用(yum,vim,gcc,g++,gdb,make/makefile)【详解】

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

    2024年01月17日
    浏览(49)
  • 【Linux】谈谈vim, gdb,yum,gcc&g++的使用

    目录 一, yum ——linux软件包管理器  1. 软件包是啥子?  2.  yum基本使用  1. 步骤:  2. 开发工具推荐(centos 7.6) 二,vim —— linux文本编辑器 1. Normal mode  ——  命令模式(记不住没关系,多练就行) 2.  last line  mode——   末行模式 (如何进入;shift :) 3. Insert mode ——插

    2024年02月08日
    浏览(46)
  • Linux:基础开发工具之yum,vim,gcc的使用

    本篇主要总结的是Linux下开发工具 yum vim gcc/g++ 什么是yum? 不管是在手机移动端还是 pc 端,不管是什么操作系统,当用户想要下载一些内容或者工具的时候,都需要到一个特定的位置进行下载,例如在手机上,要下载一些应用的时候就可以去对应的应用商店下载 而在Linux系统

    2024年02月08日
    浏览(52)
  • Linux中的工具:yum,vim,gcc/g++,make/makefile,gdb

    目录 1、yum 1.1 查看软件包:  1.2 安装软件包 1.3 卸载软件 2、vim 2.1 vim的三种模式 2.2 vim的基本操作 2.3. vim正常模式命令集 2.3.1 插入模式 2.3.2 移动光标 2.3.3 删除文字 2.3.4 复制 2.3.5 替换 2.3.6撤销上一次操作 2.3.7 更改 2.3.8 跳至指定的行 2.4. vim末行模式命令集 3、gcc/g++ 3.1 预处理

    2024年02月10日
    浏览(46)
  • Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具

    目录 Ⅰ.  Linux 软件包管理器 yum 一、yum 背景知识 二、yum 的基本使用 1、查看软件包 2、软件包名称构成 3、安装软件 4、卸载软件 Ⅱ.vim编辑器  一、认识vim 1、vim概念  2、模式及其切换  二、vim使用 1、vim的指令(重要)  命令模式 插入模式 底行模式 2、vim配置 Ⅲ.gcc/g++编

    2024年02月05日
    浏览(55)
  • 【Linux】vim(附配置sudo)、yum、gcc、g++、gdb、make/Makefile工具汇总

    (一)历史沉淀 我们在安装一个软件之前,需要先下载对应的软件包,但是这个软件包并不存在于我们本地的计算机磁盘,而是存在于远端服务器上;那么计算机如何知道该软件存在于具体的哪一台服务器上呢? 对于电脑来说,我们一般通过搜索对应软件的官网来得到相应

    2024年02月13日
    浏览(48)
  • vim、gcc/g++、make/Makefile、yum、gdb

    vim有很多种模式,但此处只介绍3种,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。 要查看所有的模式可以打开vim,在底行模式中直接输入 :help vim-modes。 (1)正常/普通/命令模式(Normal mode) 进入vim后的默认模式,可以控制屏幕光标的移动、

    2024年02月08日
    浏览(46)
  • Linux开发工具-vim-gcc-gdb指令及使用

    目录 linux软件包管理器yum(apt) linux开发工具 linux编辑器-vim使用 linux编译器-gcc/g++使用 linux调试器-gdb使用 linux项目自动化构建工具-make/makefile linux第一个小程序-进度条 使用github创建项目 使用git命令 我们前面学了关于linux的基本指令和基本权限的一些相关知识,那么我们今天

    2024年03月10日
    浏览(59)
  • Linux开发工具:yum、vim、gcc/g++、makefile

    在 Linux 下安装软件一共有三种方式: 源代码安装 有很多开源软件的源代码会被作者放在Github/Gitee 等网站上, 可以将这些源代码下载在本地. 通过直接在本地将这些源代码进行编译链接生成可执行程序 . 在嵌入式编程中, 经常用到交叉编译来处理不同平台的适配性. rpm包直接安装

    2024年01月19日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包