【hello Linux】Linux开发工具

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

目录

1. vim:文本编辑器

1.1 各种模式的切换

补充:ctrl r命令

1.2 命令模式的操作

1.3 插入模式的操作

1.4 底行模式的操作

1.5 配置vim环境

1.6 配置亲属关系

2. gcc/g++:编译器

2.1 预处理:

2.2 编译:

2.3 汇编:

2.4 链接:

2.5 执行可执行程序

2.6 函数库

3. gdb:调试器

3.1 调试:gdb 可执行文件 

3.2 调试命令的使用


【hello Linux】Linux开发工具 

Linux🌷 

在windows系统平台下,我们可以使用vs2019等软件进行代码的编写、编译、调试以及运行,这种软件都是集成开发软件。

那么在Linux系统下呢?我们

编写代码使用:vim(文本编辑器);

编译代码使用:gcc/g++(编译器);

调试代码使用:gdb(调试器);

下面系统的介绍下各种工具的使用。

1. vim:文本编辑器

vim是一种文本编辑器,从定位上来说和记事本没有任何差别,但经过配置后的vim却能够很好的帮助我们在Linux系统环境下进行代码的编写。

 

 vim还是一种多模式的编辑器。

我们常常使用以下三种模式完成代码的编写:命令模式、插入模式、底行模式。

1.1 各种模式的切换

1. 我们刚进入vim时默认是在命令模式的;

2. 按键盘上的 i 键便可以进入插入模式;

3. 按左上角的Esc键便可以返回到命令模式;

4. 在命令模式下按 shift : 进入底行模式;

5. 在底行模式下输入 :wq! 回车退出vim。

其中 w:保存,q:退出,!:强制

下面一个图解进行更好的梳理:

【hello Linux】Linux开发工具

 补充:ctrl r命令

【hello Linux】Linux开发工具

按住ctrl r后会出现上述情况,我们之间输入原先命令的部分片段,则会出来原先全部的命令

1.2 命令模式的操作

移动光标:

上下左右(键盘),HJKL  左下上右

shift ^   光标定位至行首; shift $  光标定位至行尾

gg   光标定位至起始行; shift g   光标定位至末尾行;12 shift g   光标定位至12行;

w    向后移动一个单词;  b   向前移动一个单词; (这两个并不绝对是以一个单词为单位的)

文本操作:

yy    复制当前行(光标所在的位置)

2yy  复制当前行及其之后的一行(支持多行操作)

p      粘贴

np    一次重复粘贴n行

u      撤销

dd    剪切当前行(光标所在的位置)

nyy  剪切当前行及其之后的n-1行(支持多行操作)

shift ~    大小写转换(光标所在的字符)若:大写—>小写;小写—>大写

x      删除光标所在位置的字符(支持nx)

X     删除光标所在位置的前一个字符(支持nX)

r      替换当前光标所在的字符(支持nr—>所在+后n-1都替换为同一字符)

shift r   直接进入替换模式,进行多个内容的替换,按Esc返回命令模式

ctrl r     撤销刚刚的撤销

 

1.3 插入模式的操作

i   在光标所在处进入

a  在光标所在处的右一字符处进入

o  在光标所在行下建一空行进入,光标在新建行的行首

 

1.4 底行模式的操作

set nu        调出行号

set nonu    取消行号

w               保存

q                退出

!                 强制

vs 文件名   多文件操作

【hello Linux】Linux开发工具

ctrl w w   在两屏中切换光标

在底行模式下wq退出的是光标所在屏

1.5 配置vim环境

在没有配置vim环境时,打开使用vim编辑代码则相当于使用记事本,

配置了vim环境则是在编写代码时有适当的缩进、高光、括号配对等。

可以使用如下命令进行简单环境的配置(足够使用):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

注意:

要在自己的用户下进行配置

【hello Linux】Linux开发工具

出现如下所示则代表成功 

【hello Linux】Linux开发工具

 vim配置在自己的文件中,只会影响自己的操作;

对于root用户也一样,root有自己的vim配置文件,只影响自己。

1.6 配置亲属关系

在root用户下使用下面命令:

vim /etc/sudoers

【hello Linux】Linux开发工具

 对文件进行如下配置:

【hello Linux】Linux开发工具

 此后我们便可以使用sudo命令(提升普通用户的权限):

【hello Linux】Linux开发工具

 

2. gcc/g++:编译器

编译器主要完成四个功能:预处理、编译、汇编、链接。

下面看一下它们的具体功能:

预处理:头文件的展开、宏替换、条件编译、去掉注释;

编译:检查代码是否有语法错误,将代码翻译成汇编语言;

汇编:将汇编代码转化为机器可识别的二进制代码文件;

链接:生成可执行文件或库文件。

下面看一下它们到底怎么使用吧!

2.1 预处理:

【hello Linux】Linux开发工具

 -E      开始进行翻译,完成预处理之后停下来!

 -o       指定特定的文件

hello.i  .i后缀表已经过预处理的C原始程序

2.2 编译:

【hello Linux】Linux开发工具

 -S      开始进行翻译,完成编译之后停下来!

 -o       指定特定的文件

hello.s  .s后缀表已经过编译的C原始程序,生成汇编代码了

2.3 汇编:

【hello Linux】Linux开发工具

 -c      开始进行翻译,完成汇编之后停下来!

 -o       指定特定的文件

hello.o  .o后缀表已经过汇编的C原始程序,生成二进制的目标代码了

2.4 链接:

【hello Linux】Linux开发工具

hello  链接生成的可执行程序

2.5 执行可执行程序

【hello Linux】Linux开发工具

 2.6 函数库

函数库一般分静态库动态库两种。

静态库:.a后缀
静态库是指编译链接时, 把库文件的代码全部加入到可执行文件中, 因此生成的文件比较大, 但在运行时也就不再需要库文件了。其后缀名一般为“.a”
动态库:.so后缀
动态库与之相反, 在编译链接时并没有把库文件的代码加入到可执行文件中, 而是在程序执行时由
运行时链接文件加载库, 这样可以节省系统的开销。动态库一般后缀名为 “.so”

 

ldd 可执行程序:

【hello Linux】Linux开发工具

 由此可知,gcc默认是以动态链接方式,形成可执行程序

3. gdb:调试器

3.1 调试:gdb 可执行文件 

 由上述命令我们便可以进入到Linux系统下的调试功能

程序的发布方式有两种, debug 模式和 release 模式
Linux gcc/g++ 出来的二进制程序,默认是 release 模式
要使用 gdb 调试,必须在源代码生成二进制程序的时候 , 加上 - g 选项

【hello Linux】Linux开发工具

【hello Linux】Linux开发工具

【hello Linux】Linux开发工具

 3.2 调试命令的使用

run 直接执行(相当于vs中的F5) 

【hello Linux】Linux开发工具

list 显示代码(l也可用于显示代码)(一般是从main函数上下行进行显示),若后面直接跟 l 则续上之前显示的行继续显示

l 行号(从此行号上下行显示代码)

【hello Linux】Linux开发工具

 b 行号(给第几行打断点)

s 逐步执行(相当于F11)

n 逐过程执行(相当于F10) 

【hello Linux】Linux开发工具display 要显示的内容:常显示

undisplay 行号:取消常显示

p/P 要显示的内容:只显示一次

【hello Linux】Linux开发工具

 finish (结束当前的函数,跑完函数并退出,类似于break)

【hello Linux】Linux开发工具

 continue (直接到达下一个断点处)

【hello Linux】Linux开发工具

 info b (显示断点信息)

d 行号(删除对应行处的断点)

disable 行号(禁用对应行处的断点)

enable 行号(打开对应行处的断点) 

【hello Linux】Linux开发工具

 until 行号(在一个函数内部直接到达指定行)

【hello Linux】Linux开发工具

 set var 要修改的内容(修改对应的值)

【hello Linux】Linux开发工具

 bt (查看栈参数)

【hello Linux】Linux开发工具

 

坚持打卡!😃文章来源地址https://www.toymoban.com/news/detail-413457.html

到了这里,关于【hello Linux】Linux开发工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Linux开发工具使用

    1.vim的基本概念 vim是一款多模式的代码编辑器,进行代码编辑时有语法高亮。 vim具有多种模式,这里讲一下最常用的三种 命令模式 vim打开文件默认的模式,控制光标的移动,配合指令来进行文本删除和复制等功能。 插入模式 命令模式下按i键进入插入模式,可以做文字输入

    2024年02月16日
    浏览(50)
  • Linux开发工具之vim工具的使用介绍

    目录 前言 1.vim的基本概念  命令模式(Normal mode) 插入模式(Insert mode) 末行模式(last line mode) 2.vim的基本操作  命令模式的命令集  移动光标 ​编辑 删除文字 复制 替换  撤销操作 更改 vim末行模式命令集 简单vim配置 总结 大家好呀,许久未和大家见面了,前段时间由于期末考试

    2024年02月15日
    浏览(51)
  • Linux开发工具【vim】

    什么是软件包?这里举个例子 我们使用手机时是在应用商店下载软件,应用商店里的看到各种软件是在远端服务器上的,服务器上有对应的软件下载服务,我们下载软件时就是从服务器上下载对应的相关文件,对应在Linux机器中,这里手机上的“APP”就相当于软件包,而应用

    2024年02月15日
    浏览(43)
  • linux开发工具的介绍

    目录 1. Linux 软件包管理器 yum 2.Linux编辑器-vim使用 3.Linux编译器-gcc/g++使用 预处理(进行宏替换) 编译(生成汇编) 汇编(生成机器可识别代码) 链接(生成可执行文件或库文件) 3.1在链接过程中我们需要用到函数库 函数库一般分为静态库和动态库 gcc选项 esc iso  4.Linux调试器-

    2024年02月10日
    浏览(33)
  • 【Linux修炼】开发工具使用

    🌇 个人主页 : 平凡的小苏 📚 学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘。 🛸 C++专栏:Linux内功修炼 家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我真重

    2024年02月12日
    浏览(69)
  • 【探索Linux】—— 强大的命令行工具 P.3(Linux开发工具 vim)

    前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也学习了一些Linux的基本操作,也相信大家都掌握的不错,今天博主带大家了解一下Linux开发工具—— vim ,下面话不多说坐稳扶好咱们要开车了!!!😍 Vim(Vi IMproved)是一款在Unix和类

    2024年02月12日
    浏览(41)
  • 【Linux】基础开发工具——make

    上一期分享了在Linux下编译源代码的两个工具,gcc和g++。每次编译源代码,都要输入一串很长的指令,这个过程显然是十分复杂,且容易出错的,尤其是在一些大型的项目中,源代码可能有多个,此时编译起来就会更费劲。为了解决上面的问题,今天就给大家分享一个,Linu

    2024年02月16日
    浏览(36)
  • Linux开发工具——vim篇

    前言:   在Linux下我们是如何编写代码的呢?其实在Linux下有一个很不错的开发工具:Linux编辑器——vim,那么话不多说,这就开启我们今天的话题! 认识vim   在以前,我们在Linux下常用的开发工具是vi,但是现在的vim使用起来是要比vi方便的。vi/vim的区别简单点来说,它

    2024年02月04日
    浏览(36)
  • Linux环境基础开发工具使用(二)

    📘北尘_ :个人主页 🌎个人专栏 :《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个

    2024年02月05日
    浏览(66)
  • 【Linux】基础开发工具——yum篇

     在Windows环境下,我们通常会到对应的官网,去下载安装包进行软件的安装,在手机端,我们通常会到应用商店去下载我们需要的软件。那在Linux环境下如何安装软件呢?  源代码安装,即软件的开发者把软件的源代码直接给我们,我们自己对源代码进行编译、安装。源代码

    2024年02月12日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包