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即可。

创作不易,感谢阅读。

相关推荐
o(╥﹏╥)6 分钟前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
娶不到胡一菲的汪大东11 分钟前
Ubuntu概述
linux·运维·ubuntu
Yuan_o_23 分钟前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
那就举个栗子!38 分钟前
Ubuntu 20.04下Kinect2驱动环境配置与测试【稳定无坑版】
linux·ubuntu
灯火不休➴39 分钟前
[Xshell] Xshell的下载安装使用、连接linux、 上传文件到linux系统-详解(附下载链接)
linux·运维·服务器
Lukea1139 分钟前
【新教程】Ubuntu server 24.04配置无线网WiFi
linux·ubuntu·教程
小峰编程41 分钟前
独一无二,万字详谈——Linux之文件管理
linux·运维·服务器·云原生·云计算·ai原生
卜及中41 分钟前
【Linux】资源隔离机制 — 命名空间(Namespace)详解
linux·服务器·php
扛枪的书生1 小时前
Socat 命令总结
linux
程序员一诺1 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python