Linux基础开发工具

目录

基础开发工具

包管理器

yum

apt

vim编辑器

gcc/g++编译器

自动化构建

make

Makefile/makefile

Git

调试器------gdb/cgdb


只有认知的突破 💫才能带来真正的成长 💫编程技术的学习 💫没有捷径 💫一起加油💫

🍁感谢各位的观看 🍁欢迎大家留言 🍁咱们一起加油 🍁努力成为更好的自己🍁

基础开发工具

包管理器

yum

作用:适用于Sentos系统的"软件商店"。

  • 下载软件:对于root用户------yum install -y +目标软件。对于普通用户------sudo yum install -y +目标软件。

  • 卸载软件:对于root用户------yum remove -y +目标软件。对于普通用户------sudo yum remove -y +目标软件。

apt

作用:适用于Ubuntu系统的"软件商店"。

  • 下载软件:对于root用户------apt install -y +目标软件。对于普通用户------sudo apt install -y +目标软件。

  • 卸载软件:对于root用户------apt remove -y +目标软件。对于普通用户------sudo apt remove -y +目标软件

vim编辑器

作用:是一个写代码的编辑器。用法:vim + 目标文件。

  • 命令模式

  • 插入模式

  • 底行模式

三者之间的关系,如下图所示。

gcc/g++编译器

作用:用来编译代码的工具。gcc只编译C语言,g++既可以编译C语言,也可以编译C++语言。

编译代码的指令:gcc/g++ -o 目标文件 源文件。

预处理,编译,汇编和链接的指令如下:

  • 预处理:去掉注释,条件编译,展开头文件,宏替换。指令:gcc -E ,生成.i文件。

  • 编译:生成汇编代码。指令:gcc -S,生成.s文件。

  • 汇编:把汇编代码生成二进制代码。指令:gcc -c,生成.o文件。

  • 链接:链接所有的.o文件和相关的库文件。指令:gcc,生成.exe文件。

自动化构建

make

make是一条指令,它是用来自动化构建项目的一个工具,自动化编译和链接等。它的自动化构建依赖Makefile/makefile配置文件。

#指令如下 make Makefile/makefile

Makefile/makefile

这俩是配置文件,至于名字是不区分大小写的。对你的项目,进行自动化构建流程配置。总结:make是一个自动化构建的工具,makefile是这个自动化构建所需的配置,只有make和makefile结合,才能完成整体的自动化构建。

对于makefile里面常用的配置解释。

复制代码
BIN=proc.exe # 定义变量 
CC=gcc 
SRC=$(wildcard *.c) # 或者使⽤ wildcard 函数,获取当前所有.c⽂件名 
OBJ=$(SRC:.c=.o) # 将SRC的所有同名.c 替换 成为.o 形成⽬标⽂件列表 
LFLAGS=-o # 链接选项 
FLAGS=-c # 编译选项 
RM=rm -f # 引⼊命令 

$(BIN):$(OBJ) 
    @$(CC) $(LFLAGS) $@ $^ # $@:代表⽬标⽂件名。 $^: 代表依赖⽂件列表 
    @echo "linking ... $^ to $@" 
    
%.o:%.c # %.c 展开当前⽬录下所有的.c。 %.o: 同时展开同名.o 
    @$(CC) $(FLAGS) $< # %<: 对展开的依赖.c⽂件,⼀个⼀个的交给gcc。 
    @echo "compling ... $< to $@" # @:不回显命令 
    
.PHONY:clean 
clean: 
    $(RM) $(OBJ) $(BIN) # $(RM): 替换,⽤变量内容替换它 
  
.PHONY:test 
test: 
    @echo $(SRC) 
    @echo $(OBJ)

Git

是一个文件版本控制器,它具有网络的功能,能把代码给托管到代码云平台上。常用的指令如下:

  • git add "目标文件"。把工作区的代码,给加载到git的暂存区。

  • git commit -m "提交信息"。把暂存区的代码,加载到git本地仓库里面。

  • git push。把git本地仓库的代码。提交到远程仓库里面。

调试器------gdb/cgdb

这俩就是调试代码用的,这俩的使用指令都是一样的。对于gdb,进入代码调试的时候,它不会直接显示代码。对于cgdb,进入代码调试的时候,它会直接显示代码。所有,我们用cgdb更多一些。这里就着重介绍一下这个调试器。

注意:gcc/g++编译的代码默认是release版本的,在进行调试代码之前,需要被调试的代码必须是Debug模式编译的,所以需要在编译代码指令的后面加上-g

代码调试常用的指令如下所示:

复制代码
cgdb + 目标文件     #进入代码调试阶段
break/b + 行号     #在某行打上调试断点
break/b + 函数名    #在函数开头打上断点
r/run              #运行程序,开始调试
info break/b        #查看当前所有断点
delete/d + 断点的序号 #删除指定的断点
display + 变量名      #追踪并显示对应的变量
until + ⾏号         #执⾏到指定⾏号
quit                #退出cgdb调试
set var 变量=值   #修改变量的值  set var i=10
n/next      #逐过程
s/step      #逐语句
相关推荐
似霰3 小时前
Linux Shell 脚本编程——核心基础语法
linux·shell
极地星光3 小时前
如何使用 Git 实现 revert
git
厨 神3 小时前
IFLOW-Git-Claude
git·cloudera
步步为营DotNet4 小时前
深度剖析.NET中IHostedService:后台服务管理的关键组件
服务器·网络·.net
LUCIFER5 小时前
[驱动进阶——MIPI摄像头驱动(五)]rk3588+OV13855摄像头驱动加载过程详细解析第四部分——ISP驱动
linux·驱动开发
暮云星影5 小时前
四、linux系统 应用开发:UI开发环境配置概述 (一)
linux·ui·arm
a程序小傲6 小时前
得物Java面试被问:RocketMQ的消息轨迹追踪实现
java·linux·spring·面试·职场和发展·rocketmq·java-rocketmq
Ghost Face...6 小时前
i386 CPU页式存储管理深度解析
java·linux·服务器
LEEE@FPGA6 小时前
zynq 是不是有了设备树,再linux中不需要编写驱动也能控制
linux·运维·单片机