Linux开发工具使用

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

vim

1.vim的基本概念

vim是一款多模式的代码编辑器,进行代码编辑时有语法高亮。
vim具有多种模式,这里讲一下最常用的三种

  • 命令模式

vim打开文件默认的模式,控制光标的移动,配合指令来进行文本删除和复制等功能。

  • 插入模式

命令模式下按i键进入插入模式,可以做文字输入,写代码常用的模式。

  • 底行模式

命令模式下shift加:进入底行模式,输入特定字符可以进行文件保存以及退出vim。

2.vim三种模式的切换

Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记

3.底行模式的基础操作

  • 列出行号

set nu :输入后回车列出行号。

  • 跳转到文件指定行

数字:输入一个数字后回车跳转到指定行。

  • 查找字符

/(或者?)关键字:依据关键字查找,如果第一次查找结果不符合,可以一直按n直到找到结果。
/和?的区别:/自文件第一行开始向下搜索,?是自文件最后一行向上搜索。

  • 保存文件

w:输入后回车保存文件。

  • 分屏操作

vs 文件名:文件分屏
ctrl加ww:切换操作文件(光标在哪里操作哪里)

  • 退出vim
  1. q:输入后回车退出。
  2. wq:输入后回车保存并退出。
  3. !:可以和1,2组合(q!,w!),表示强制的意思,配置系统文件的时候修改可能会拒绝保存和退出。

4.命令模式下的基础操作

  • 移动光标
  1. gg:光标定位到文件开头。
  2. shift加g:光标定位到文件结尾。
  3. n加shift加g:光标定位到文件第n行。
  4. shift加^(6):光标定位到行开始。
  5. shift加$(4):光标定位到行结尾。
  6. hjkl:左、下、上、右移动。
  • 删除文字
  1. dd(ndd):删除光标所在行(ndd一次删除n行)。
  2. x:删除光标所在字符。
  • 复制粘贴
  1. yy(nyy):复制所在行(nyy一次复制n行)。
  2. p(np):粘贴所在行(np一次粘贴n行)。
  • 替换
  1. shift加~:大小写切换。
  2. shift加r:进入替换模式(Esc退回命令模式)。
  • 撤销操作
  1. u:撤销上一次操作。
  2. ctrl加r:撤销上一次u操作。

5.vim的配置

默认vim没有代码补全这样的功能,需要自己配置。
配置文件是.vimrc,用户目录下没有这个文件就自己创建一下,然后进行配置。
大家可以自己搜索一下配置选项,我这里直接给一下C/C++的一键配置,VimForCpp,按照安装方法来就行。

yum

1.yum的概念

yum是一个软件包管理器,软件包就是App,yum就像手机里面的应用市场一样,不一样的是yum可以自己配置下载源(告诉yum去哪里下载)。

2.yum的基础操作

  • 查找

yum lsit | grep 关键字:使用管道加行过滤,把含关键字的软件列出来,没有找到就查一下下载方式。

  • 安装

sudo yum install -y 软件名:安装和卸载都需要root的权限,加-y选择不会询问是否安装。

  • 卸载

sudo yum remove -y 软件:卸载软件

gcc/g++

1.gcc/g++的概念

gcc、g++是编译器,其中gcc负责编译C语言,g++负责编译C++。除此以为gcc和g++还有链接的功能。

2.一个C/C++程序形成的过程

一个C/C++程序的形成需要经过预处理、编译、汇编、链接

  1. 预处理:进行宏的替换、头文件展开、注释的删除(空格替换)。
  2. 编译:将代码转化为汇编代码(这个阶段主要负责语法分析、符号汇总、 词法分析、 语义分析)。
  3. 汇编:将汇编代码转化为二进制机器指令,生成符号表。
  4. 链接:汇编完成后会把对应源文件生成目标文件,链接阶段就是把这些目标文件进行链接。

Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记

3.gcc/g++基本使用

  • 格式

gcc [选项] 要编译的文件 [选项] [目标文件]

  • 直接形成可执行程序

gcc/g++ hello.c -o hello
注意:-o选项用于指定生成的可执行文件的名称。这个选项后面需要跟上一个文件名作为参数,不加-o选项的话自动生成。

  • 预处理(进行宏替换,条件编译)

gcc -E hello.c -o hello.i
注意:“.i”文件为已经过预处理的C原始程序。

  • 编译(生成汇编代码)

gcc –S hello.i –o hello.s

  • 汇编(生成二进制机器码)

gcc –c hello.s –o hello.o

  • 链接(生成可执行程序)

gcc hello.o –o hello

  • gcc其它选项
  1. -g 生成调试信息。GNU 调试器可利用该信息。
  2. -w 不生成任何警告信息。

make和makefile

1.基础概念

make是一条命令,makefile是一个文件,这两者组合可以用来自动化构建项目。makefile包含文件编译顺序的信息,make会依据makefile中的信息生成或清理程序。在面对多文件开发的时候只需要简单的一条指令就能一键生成程序或清理。

2.makefile

makefile的两个重点分别是依赖关系加依赖方法,直白一点就是目标需要的文件以及对应的生成指令。

【1】生成

我们用vim打开一个makefile文件:
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记
上面这个例子只是为了进行讲解,实际单文件只需要下面这种写法就可以:
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记


完成makefile的编写后,我们直接运行make指令:
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记

【2】清理

Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记
我们输入make clean指令:
Linux开发工具使用,Linux,linux,运维,服务器,经验分享,笔记

调试器gdb

1.注意

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

2.使用

gdb的功能很多,这里列出常用功能。文章来源地址https://www.toymoban.com/news/detail-600099.html

  • gdb DeBug程序:开始调试
  • quit:退出
  • list/l:显示binFile源代码,接着上次的位置往下列,每次列10行。
  • list/l 函数名:列出某个函数的源代码。
  • r或run:运行程序。
  • n或next:单条执行。(逐过程)
  • s或step:进入函数调用。(逐语句)
  • break(b) 行号:在某一行设置断点。
  • break 函数名:在某个函数开头设置断点。
  • info break :查看断点信息。
  • finish:执行到当前函数返回。
  • print(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数。
  • p 变量:打印变量值。
  • continue(或c):从当前位置开始连续而非单步执行程序
  • delete breakpoints:删除所有断点
  • delete breakpoints n:删除序号为n的断点
  • disable breakpoints:禁用断点
  • enable breakpoints:启用断点
  • display 变量名:跟踪查看一个变量,每次停下来都显示它的值
  • undisplay:取消对先前设置的那些变量的跟踪。
  • breaktrace(或bt):查看各级函数调用及参数
  • info(i) locals:查看当前栈帧局部变量的值

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

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

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

相关文章

  • linux中基础开发工具的使用

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

    2024年02月02日
    浏览(63)
  • 【Linux】基础开发工具使用 --- gcc

    目录 预处理 编译 汇编 链接 函数库 协助记忆 🧋GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。),说那么多就是一个编译器。平时写完的程序就是需

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

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

    2024年02月05日
    浏览(66)
  • 【Linux升级之路】2_Linux环境基础开发工具使用

    🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux升级之路】 ✒️✒️本篇内容:Linux工具学前常识,Linux编辑器vim的使用,sudo提权指令讲解/配置,Linux编译器gcc/g++的使用,项目自动化构建工具make/makefile的使用,工具实践(小程序-进度条),Linux环境下git的使用

    2023年04月14日
    浏览(36)
  • 【Linux】基本开发工具包使用

    目录 一, 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日
    浏览(85)
  • 【Linux】:Linux开发工具之Linux编辑器vim的使用

    📤 vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows我们统一按照vim来进行讲解 👀vim是一款多模式的

    2024年02月06日
    浏览(46)
  • 【Linux】环境基础开发工具使用(万字汇总)

    🎇Linux:环境基础开发工具使用 博客主页: 一起去看日落吗 分享博主的在Linux中学习到的知识和遇到的问题 博主的能力有限,出现错误希望大家不吝赐教 分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持的意义,祝我们都能在鸡零狗

    2024年02月05日
    浏览(48)
  • 【Linux】环境基础开发工具使用——gcc/g++使用

    1. 预处理(进行宏替换 ) 2. 编译(生成汇编 ) 3. 汇编(生成机器可识别代码) 4. 连接(生成可执行文件或库文件 ) 格式 gcc [ 选项 ] 要编译的文件 [ 选项 ] [ 目标文件 ] 预处理 ( 进行宏替换 ) 预处理功能主要包括宏定义 , 文件包含 , 条件编译 , 去注释等。 预处理指令是以 # 号

    2024年04月09日
    浏览(52)
  • 【嵌入式】Linux开发工具arm-linux-gcc安装及使用

    宿主机 执行编译、链接嵌入式软件的计算机 目标机 运行嵌入式软件的硬件平台 “本地”编译器 用来生成在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,例如 Windows 环境生成 Windows 目标代码。 交叉编译器 用来生成在其它平台上运行的目标代

    2024年01月17日
    浏览(60)
  • Linux之基础开发工具gdb调试器的使用(三)

    📘北尘_ :个人主页 🌎个人专栏 :《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 yum install -y gdb 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式,release模式下无法调试 要使用gd

    2024年02月05日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包