C++的Makefile如何使用

这篇“C++的Makefile如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++的Makefile如何使用”文章吧。为什么要使用 Makefile?Makefile 文件描述了整个工程的编译、链接的规则。为工程编写 Makefile 的好处是能够使用一行命令来完成“自动化编译”。只需提供一个(通常对于一个工程来说会是多个)正确的 Makefile,接下来每次的编译都只需要在终端输入“make”命令,整个工程便会完全自动编译,极大提高了效率。尤其是在编译一个仅有一小部分文件被改动过的大项目的情况下。绝大多数的 IDE 开发环境都会为用户自动编写 Makefile。Make 是怎么工作的?Make 工作的原则就是:一个目标文件当且仅当在其依赖文件(dependencies)的更改时间戳比该目标文件的创建时间戳新时,这个目标文件才需要被重新编译。Make 工具会遍历所有的依赖文件,并且把它们对应的目标文件进行更新。编译的命令和这些目标文件及它们对应的依赖文件的关系则全部储存在 Makefile 中。Makefile 中也指定了应该如何创建,创建出怎么样的目标文件和可执行文件等信息。除此之外,你甚至还可以在 Makefile 中储存一些你想调用的系统终端的命令,像一个 Shell 脚本一样使用它。作用:Makefile 文件告诉 Make 怎样编译和连接成一个程序可用命令 dnf install make 安装make功能格式:按如下格式编写 Makefile目标(target): 依赖(pre 香港云主机requiries)…
命令(command)注意:每个命令行前面必须是一个Tab字符,即命令行第一个字符是Tab实验:vim Makefile 编辑文件:结果为:[root@foundation1 shishi]# make
g++ -c simple.cpp -o simple.o
g++ -c simpletest.cpp -o simpletest.o
g++ simple.o simpletest.o -o simpletest命令上下是有顺序的,上一行对下一行具有依赖关系如果文件夹中已经有.o文件,make后会提示已经生成,需要删除.o文件后再makeclean的作用: 被指定时会删除对应.o文件,避免上述情况结果为:[root@foundation1 shishi]# make clean
rm simpletest simple.o simpletest.o
[root@foundation1 shishi]# make
g++ -c simple.cpp -o simple.o
g++ -c simpletest.cpp -o simpletest.o
g++ simple.o simpletest.o -o simpletest使用变量: 如果调用某个文件用的次数较多,可以使用变量代替,变量可以直接替换变量定义: 变量 = 字符串
变量使用: $(变量名)makefile 文件可改为:命令自动推导: 我们可以发现,由于 .cpp 文件都是生成对应的 .o 文件,所以 makefile 文件是可以自动识别的makefile 文件可改为:预定义变量: 系统中自己也定义了一些变量makefile 文件可改为:假想目标: 如果文件夹中有clean文件,那么make clean就不能使用,需要使用假想目标,可以在执行命令时不查看文件夹里面的文件,直接生效makefile 文件可改为:建议不生成目标文件的命令都设为假想目标vim Makefile 编辑文件:结果为:[root@foundation1 shishi]# make clean
rm -f simpletest simple.o libsimple.so
[root@foundation1 shishi]# make
g++ -c -fPIC simple.cpp -o simple.o
g++ -shared simple.o -o libsimple.so
g++ -c -fPIC simpletest.cpp -o simpletest.o
g++ simpletest.o -o simpletest -L. -lsimple预定义变量:还是需要在前面定义makefile 文件可改为:自动变量:自动变量是在规则每次执行时都基于目标和依赖产生新值的变量makefile 文件可改为:自动匹配:通配符主要用于匹配文件名,makefile中使用%作为通配符。从匹配目标格式的目标名中依据通配符抽取部分字符串,再按照抽取字符串分配到每一个依赖格式中产生依赖名。例如,使用%.o:%.cpp可以让重复的语句合为一句makefile 文件可改为:结果为:[root@foundation1 C++7.4]# make clean
rm -f simpletest2 simple.o libsimple.so simpletest2.o
[root@foundation1 C++7.4]# make
g++ -c -fPIC simpletest2.cpp -o simpletest2.o
g++ -c -fPIC simple.cpp -o simple.o
g++ -shared simple.o -o libsimple.so
g++ simpletest2.o -o simpletest2 -ldl
[root@foundation1 C++7.4]# ./simpletest2
Simple()
Test()
~Simple()
以上就是关于“C++的Makefile如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。

相关推荐: php Composer源码分析

这篇文章主要讲解了“php Composer源码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php Composer源码分析”吧!首先,我们先看看Composer的源码从哪里看起。当然,请您先准备好源码。…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/14 15:47
下一篇 07/14 15:47

相关推荐

发表评论

您的电子邮箱地址不会被公开。