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      #逐语句
相关推荐
未济5 天前
linux 配置环境变量
linux
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
Winlifes5 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.5 天前
进程间通信
linux
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅5 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog5 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
AIgorithmGEEK5 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid