Warning: mysqli_query(): (HY000/1030): Got error 28 from storage engine in /www/wwwroot/zhujipindao.com/wp-includes/wp-db.php on line 2056
如何使用Linux自动化构建工具make和Makefile (linux make dir)-主机频道
关注分享主机优惠活动
国内外VPS云服务器

如何使用Linux自动化构建工具make和Makefile (linux make dir)


Warning: mysqli_query(): (HY000/1030): Got error 28 from storage engine in /www/wwwroot/zhujipindao.com/wp-includes/wp-db.php on line 2056

Warning: mysqli_query(): (HY000/1030): Got error 28 from storage engine in /www/wwwroot/zhujipindao.com/wp-includes/wp-db.php on line 2056

本文主要介绍“如何使用Linux自动化构建工具make和makefile”。在日常操作中,相信很多人对如何使用Linux自动化构建工具make和Makefile有疑惑。主机频道查阅了各种资料,整理出简单易用的操作方法,希望能帮你解决“如何使用Linux自动化构建工具Make和Makefile”的疑惑!接下来请跟着主机频道学习!

第一,make和makefile在一个项目中的作用是不算源文件的,源文件按照类型、功能、模块放在几个目录中。Makefile定义了一系列规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重编译,甚至更复杂的函数操作。

所以,makefile的好处是&;mdash& ampmdash“自动编译”,一次编写,只需要一个make命令,整个项目自动编译翻译,大大提高了软件开发的效率。

Make是一个命令工具,它是一个解释makefile中指令的命令工具。一般来说,大部分IDE都有这个命令,比如Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile已经成为工程中的一种编译方法。Make是命令,makefile是文件,两者配合使用可以完成项目的自动构建。

二、make和Makefile的使用在了解依赖关系和依赖方法之前,我们先用C语言写一个小程序。

Linux自动化构建工具make和Makefile如何使用

我们创建了一个make.c文件,并编写了一个hello make代码。

然后我们再创建一个Makefile (makefile也可以,但不推荐)。

然后我们编辑Makefile并编写以下代码:

Linux自动化构建工具make和Makefile如何使用

然后我们保存并退出。

然后我们可以执行make命令。如果提示make不存在,是因为没有安装,可以切换到root身份安装。安装代码:yum install make或sudo install make。

正常执行make后,将出现以下显示。

Linux自动化构建工具make和Makefile如何使用

然后我们将查看当前目录中的文件。

我们可以找到一个可执行程序。那我们试试跑步吧。/制造。

Linux自动化构建工具make和Makefile如何使用

我们会发现这个可执行程序的输出使得。

这是我们的自动化构建工具,只需要在Makefile中配置即可。以后直接输入make编译代码。然后让我们再次尝试输入make。

Linux自动化构建工具make和Makefile如何使用

提醒我们make程序是最新的。也就是说,如果你没有修改或更新程序。那就不会给你编译了,因为你的程序没动。为什么要编译?

然后我们再回来分析一下这个时候用Makefile写的代码。

Linux自动化构建工具make和Makefile如何使用

首先,我们把它分成三部分。

制造

make.c

gcc制造商. c -o制造商-标准=c99

三者的关系是make依赖于make.c它们都是依赖的,而gcc make.c -o make -std=c99是make依赖于make.c的方法,称为依赖方法。

什么是依赖和依赖方法?

比如说。

月底了,你的生活费没了。这个时候你打电话给你爸爸,对他说:“爸爸,月底了。我没有钱。"。这个时候你爸爸就知道了,会给你生活费。在这里,你和你父亲是父子关系,所以你依赖你父亲,你们之间是一种依赖关系。而你父亲给你生活费,是你依靠父亲的一种方式,所以这就是依靠法。如果这时候你打电话给室友的爸爸要生活费,他会直接放你走。因为你根本不构成依赖,没有依赖就没有依赖方法。

Linux自动化构建工具make和Makefile如何使用

所以我的程序是一样的。Make是生成的可执行程序。而且依赖make.c因为是从make.c编译而来,依赖方法是执行命令gcc make.c -o make -std=c99。

从属原则

Make将在当前目录中找到一个名为“makefile”或“Makefile”的文件。

如果找到了,它会在文件中找到第一个目标文件。在上面的例子中,它会找到文件“hello”并将这个文件作为最终的目标文件。

如果hello文件不存在,或者hello所依赖的后期test.o文件的文件修改时间比测试文件新(可以通过触摸测试),那么他会执行后期定义的命令来生成测试文件。

如果测试所依赖的test.o文件不存在,那么make会在当前文件中查找目标test.o文件的依赖关系,如果找到,则根据哪个规则生成test.o文件。(这有点像堆叠过程。)

当然你的C文件和H文件是存在的,所以make会生成一个test.o文件,然后用test.o文件来声明make的终极任务,也就是执行文件测试。

这是整个make的依赖,make会一层一层的找文件的依赖,直到最后编译出第一个目标文档。

在搜索的过程中,如果出现错误,比如找不到最后一个依赖文件,那么make会直接退出并报错,而make只是简单的忽略定义命令的错误或者编译不成功。

Make只关心文件的依赖关系,也就是说,如果我找到依赖关系后,冒号后面的文件仍然不在,那么对不起,我就不行了。

清理我们在编写代码的时候,经常需要反复编译和执行代码。

在下一次重新编译之前,需要清理上次生成的可执行程序。但是在清理的时候,可能会清理错误,不小心把源文件删除了,又出问题了。

那么有什么办法可以解决呢?答案当然是。

让我们继续编辑Makefile。

Linux自动化构建工具make和Makefile如何使用

我们在原来的基础上增加了。

。假的:干净

清洁:

Rm -f使那么有什么作用。假的?

PHONY是伪目标,伪目标总是被执行。Clean是自己定义的make指令,使用方法是make clean。

那我们试试这个指令。

Linux自动化构建工具make和Makefile如何使用

我们可以看到它已经被清理了,那么为什么总是执行假目标呢?让我们多次执行它。

Linux自动化构建工具make和Makefile如何使用

我们总是可以执行它,那么我们执行make多少次呢?

Linux自动化构建工具make和Makefile如何使用

我们会发现make不能执行一次,因为它不是由。假的。那我就用。假的,再试一次。

Linux自动化构建工具make和Makefile如何使用

然后我们保存并退出,并多次执行make。

Linux自动化构建工具make和Makefile如何使用

我们可以看到它已经被执行了很多次。但我觉得没必要,因为文件没有被修改过。重新编译没有意义,所以添加。对于自动编译,不推荐使用PHONY。

我们保存了出口并多次执行make。

Linux自动化构建工具make和Makefile如何使用

我们可以看到它已经被执行了很多次。但我觉得没必要,因为文件没有被修改过。重新编译没有意义,所以添加。对于自动编译,不推荐使用PHONY。

未经允许不得转载:主机频道 » 如何使用Linux自动化构建工具make和Makefile (linux make dir)

相关推荐

  • 暂无文章

评论 抢沙发

评论前必须登录!