当前位置: 首页 > news >正文

linux中的开发工具

在刚开始使用linux的时候,我们需要在系统上写一些简单的代码,来熟悉环境以及各种指令
并且熟悉属于linux的一套开发的环境,而这对于c++来说需要三个软件就可以进行简单的编码
和使用,让我们来认识一下下列工具,以及工具的使用。

我所使用的系统是centos 7

文章目录

  • 1.yum
  • 2.vim
    • 1). vim的模式
      • a. 命令模式
        • 命令模式的各种操作
      • b. 底行模式
      • c. 视图模式
      • d. vim开发环境的配置
  • 3.gdb

1.yum

yum是centos中的下载软件的一个软件,它相当于我们手机中的应用商店,当我们需要下载一个需要的工具时,我们只需要输入"yum install 软件名"即可他就会帮我们从对应操作系统版本提供的服务器上,下载到我们的系统中。需要在root账户中下载,或者使用sudo提高账号权限

yum install 软件名(命令也可以比如tree)-y选项,下载过程中默认一路yes
yum remove 软件名
yum update  更新软件
yum update 更新特定的软件
yum list 软件名    展示出目标软件的版本

2.vim

vim是一款是十分强大的文本编辑器,我们编代码的环境就是使用它。

1). vim的模式

vim有着许多的模式,但是我们只需要学会其中的几种就可以很熟练的编写代码。

a. 命令模式

当我们输入"vim 文件名"时我们就会使用vim打开这个文件,进入我们不按任何键的状态下,我们所处于的就是命令模式。
我现在这里面输入一个简单的程序
在这里插入图片描述

命令模式的各种操作

命令模式中大多数操作都跟我们的光标位置有关。

	gg:光标快速定位到最开始n + shift + g:光标快速定位到n行,不输入n时,默认定位到最后一行hjkl:这四个键控制光标的移动,h向左移,j向下移,k向上移,l向右移下列缩进过的都可以在输入命令前输入数字,以表示操作的行数,以光标当前行开始。dd:剪切当前行yy:复制当前行p:粘贴剪贴板内的内容行内的操作:shift + '`'(也就是波浪号):将光标所在处的字母大小写替换r:替换光标更所在位置字符,前面也可以加数字,往后替换x:删除字符shift + x: 往前删除#:查找同名单词(跳到第一个),n向下翻高亮同名单词u:撤销ctrl + r:撤销对撤销的撤销,也就是对u的行为进行撤销

处于底下所有模式都可以按下返回键esc回到命令模式

b. 底行模式

底行模式是为了让我们实现对文件外部的操作,在命令模式下输入分号’:'进入底行模式。

w:保存,w!:强制写入
q:退出,wq:保存并退出,q!:强制退出
set nu:调出行号,set nonu:去掉行号
可以运行命令:! + 命令,在不退出vim的情况下查看编译、运行等工作。
/:搜索关键字,n表示下一个

调出行号
在这里插入图片描述
多文件操作(依旧底行模式):
vs:分屏打开其他文件
ctrl + ww可以将光标在文件之间切换

在这里插入图片描述

c. 视图模式

这个模式是方便我们进行一些批量化操作,如注释/取消注释代码。命令模式下ctrl + v进入视图模式
注释多行代码:
首先我们的光标要到开始注释行的开始:
在这里插入图片描述
进入视图模式->使用hjkl移动光标选中区域->输入shift + i->输入//进行注释->输入返回键->完成注释
在这里插入图片描述

d. vim开发环境的配置

在刚开始使用vim的过程中,我们会发现这个软件编写代码极其的不舒服,没有自动匹配括号,关键词联想,自动缩进等等。其实,这些都可以来由使用人员配置。我们需要在我们的账户目录下找到一个隐藏文件’.vimrc’,如果没有我们可以自己创建一个。
使用vim打开这个文件,我们输入set nu也就是显示行号
在这里插入图片描述

在这里插入图片描述
我们会发现我们再使用vim打开文件就会自动带上行号。而配置一个合适的环境,会大大的提高我们的开发效率,想了解如何配置的话可以自行上,网上搜索相关的配置代码,个性化定制自己的开发环境。

3.gdb

gdb是用来调试c/c++代码的软件,需要注意的是只有在debug版本编译出的可执行程序才能被调试。
而gcc/g++默认编译好的可执行程序是release版本,想要debug版本

gcc/g++ 文件名  -g (debug版本)list(l) + 数字:从数字行开始显示代码,回车下翻
run(r):F5的作用,调试
breakpoint(b) + 行号:打断点多个.c文件时,言明文件名+冒号+行号
info b:显示断点
delete breakpoint(d) + 断点num:删除断点退出调试状态时,断点全部清除
dis/en  able + 编号:禁用/启用断点
n:逐过程,相当于F10
s:逐语句,相当于F11
display/undisplay:查看/删除(编号)变量和变量的地址属性
until:跳转到指定行
finish:运行到当前函数的结尾
continue,c:从一个断点跳到下一个断点
bt:查看调用堆栈
set var 变量 = 某数值(可能会影响结果,导致结果不同)
http://www.lryc.cn/news/173604.html

相关文章:

  • 2023 第十二届中国智能产业高峰论坛 - 文档大模型的未来展望
  • 【小沐学NLP】关联规则分析Apriori算法(Mlxtend库,Python)
  • 对话ChatGPT:AIGC时代下,分布式存储的应用与前景
  • java多线程学习笔记一
  • BOM与DOM--记录
  • Docker安装MongoDB
  • 不要对正则表达式进行频繁重复预编译
  • vue入门及小项目小便签条
  • 详解TCP/IP协议第四篇:数据在网络中传输方式的分类概述
  • SpringMvc决战-【SpringMVC之自定义注解】
  • 【MySQL集群一】CentOS 7上搭建MySQL集群:一主一从、多主多从
  • RGB格式
  • 认识面向对象-PHP8知识详解
  • 毕业设计|基于51单片机的空气质量检测PM2.5粉尘检测温度设计
  • 星闪空口技术初探
  • 如何在不失去理智的情况下调试 TensorFlow 训练程序
  • 24. 图论 - 图的表示种类
  • C++ 读bin文件,部分代码。赚经验。
  • vue3 父子组件传值
  • 【看懂MPLS LSP表项】
  • 代码随想录训练营 单调栈
  • Android MQTT
  • Codeforces Round 823 (Div. 2)C
  • npm发布vue3自定义组件库--方法一
  • Centos7原生hadoop环境,搭建Impala集群和负载均衡配置
  • 如何在macOS上安装Go并搭建本地编程环境
  • postgresql-存储过程
  • 改造user ,使得userId相同视为一个对象,user是Key,User的username做value
  • 力扣刷题-数组-滑动窗口法相关题目总结
  • Qt创建线程(线程池)