Linux基础环境开发工具(二)

目录

一、前言

在开发工具第一篇中我们介绍了yum,vim,gcc/g++编译器这几种工具,在这篇文章中,我们即将介绍剩余的几种常见的开发工具。

二、make和makefile工具

1.快速认识一下

make实质上是一个指令,makefile实质上是一个文本文件 。makefile的作用主要是为了实现自动化构建项目,进行指定描述如何对源代码进行编译和链接。

接下来我们看一下如何简单的使用一下

这个makefile的功能就是通过main.c和processbar.c两个源文件中的代码进行编译和链接,最终生成processbar这个可执行程序。

2.依赖关系和依赖方法

在上面这个例子中

powershell 复制代码
processbar:main.c processbar.c

就是依赖关系,也就是一个实体必须依赖于另一个实体才能实现功能,而其中的processbar是依赖对象,main.c和processbar.c则是依赖文件列表

powershell 复制代码
gcc -o $@ $^

这个则为依赖方法,必须通过依赖方法才能将依赖文件列表转换成依赖对象 。其中,我们可以关注到,其实所谓的依赖方法就是通过gcc或者g++编译器进行编译的过程。 其中$^,是指整个依赖文件列表,在需要有多个源文件同时转换成一个可执行程序的时候,我们可以便捷的使用这个符号。

此外,因为整个编译过程是分为预处理,编译,汇编,链接四个阶段,所以我们的依赖关系也就变得多种多样起来

这个例子就是先将.c文件转换成.o文件,然后将.o文件再转换成可执行程序。

3.执行原理

我们在讲述完makefile之后,再来进行makefile和make的联动,make就是对makefile中的指令进行执行,一般而言是从上到下 ,挨个进行执行,但同时也遵循显示依赖关系,即依赖的源文件会先被执行。

make的执行还有个特点,make形成可执行程序只编译最新更新的一次,通过对比acm时间

同时也存在一种不受时间限制的执行对象,就是伪目标,这种对象一般不受更新时间的限制,直接进行更新,一般都是一些不产生实质性文件的操作,因为频繁的产生文件会导致效率严重低下,像清理之类的操作会被设置成为伪目标。

三、Git工具

1.快速认识一下

git实际上就是管理文件的一个工具,也可以称为版本控制器。管理文件分为两种,一种是在本地端进行管理,另一种是在远端进行管理。git在可以管理本地和远端仓库的同时还可以允许其他人或者其他设备来访问这个仓库,进行团队协作,所以说git既可以当做客户端,又可以当做服务器

git的使用一般就是三板斧:

powershell 复制代码
git add .
git commit -m "备注"
git push

2.git的使用

在详细了解git的三板斧之前,我们先来熟悉几个概念。首先是工作区,xshell中的工作区其实就是正在进行编辑工作的目录 。其次,真正有效的存储是存储在本地仓库中,在远端仓库存储更多的是一种起到保险作用的备份。

powershell 复制代码
git add .//将工作区中没有存储到仓库里的文件全部存放在暂存区
git commit -m "备注"//将暂存区中的文件存储到本地仓库中
git push//和远端仓库进行同步

在push阶段还会让我们输入自己远端仓库的用户名和密码。
以上是主要的三板斧,接下来还有几个重要的指令

powershell 复制代码
git clone //将远端仓库复制到本地中
git status //查看工作区中的文件修改记录
git rm 文件 //对远端文件进行删除,同时也会在status中有记录

四、gdb工具

1.快速认识一下

调试我们已经不再陌生了,在代码量大一点的程序中,我们都要用的到调试,这个gdb就是调试工具。

2、类比Windows使用

我们知道,程序一般都是有两个模式,一个是debug模式,另一个是release模式,只有debug模式比较适合让程序员进行调试的。但是Linux默认的是release模式,所以我们需要手动调回debug模式 。只需要在makefile的依赖方法的最后加上一个-g即可。

创作不易,感谢阅读。

相关推荐
Lovely_Ruby2 分钟前
前端er Go-Frame 的学习笔记:实现 to-do 功能(一)
前端·后端
喵个咪4 分钟前
初学者导引:在 Go-Kratos 中用 go-crud 实现 Ent ORM CRUD 操作
后端·go
晨同学03275 分钟前
【亲测可行】windows安装visual studio & opencv4.10.0
ide·windows·visual studio
计算机毕设匠心工作室5 分钟前
【python大数据毕设实战】全国健康老龄化数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
后端·python
v***870414 分钟前
Spring Boot实现多数据源连接和切换
spring boot·后端·oracle
哈哈哈笑什么15 分钟前
企业级追踪业务数据变动的通用组件
后端
稚辉君.MCA_P8_Java17 分钟前
Gemini永久会员 go数组中最大异或值
数据结构·后端·算法·golang·哈希算法
Moe48821 分钟前
Spring Boot启动魔法:SpringApplication.run()源码全流程拆解
java·后端·面试
阿杰AJie23 分钟前
Java 常见场景中需要使用 try 的示例集
java·后端
Lear23 分钟前
加密技术全面解析:从原理到实践
后端