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      #逐语句
相关推荐
莫逸雪38 分钟前
Nodemo使用学习
学习·编辑器·vim
黄筱筱筱筱筱筱筱2 小时前
LINUX-防火墙
linux·服务器·网络
сокол3 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神3 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
解道Jdon4 小时前
[Budi插件:VsCode状态栏显示Copilot使用情况
ide·windows·git·svn·eclipse·github·visual studio
kisshyshy4 小时前
掌握 Git 基础
git
全糖可乐气泡水4 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
L、2186 小时前
昇腾NPU性能调优Checklist——从“能跑“到“跑得快“的20步
服务器·人工智能·深度学习
不吃土豆的马铃薯6 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者7 小时前
常见的 Linux 版本
linux·运维·服务器