关于加强网站建设的建议,宁波网络推广,正规的培训行业网站制作,网站建设会计分录怎么做使用背景 在工程中的源文件不计数#xff0c;其按类型、功能、模块分别放在若干个目录中#xff0c;makefile定义一系列 规则来指定什么文件需要先编译#xff0c;什么文件需要后编译#xff0c;哪些文件需要重新编译#xff0c;或者更复杂 的功能操作 makefile带来的好处…使用背景 在工程中的源文件不计数其按类型、功能、模块分别放在若干个目录中makefile定义一系列 规则来指定什么文件需要先编译什么文件需要后编译哪些文件需要重新编译或者更复杂 的功能操作 makefile带来的好处就是——“自动化编译”一旦写好只需要一个make命令整个工程完全自动编 译提高效率 make是一个命令工具是一个解释makefile中指令的命令工具一般来说大多数的IDE也都有这个命 令比如Delphi的makeVisual C的nmakeLinux下GNU的make。 而 make是一条命令makefile是一个文件两个搭配使用完成项目自动化构建。 make/makefile的原理及简单例子
make 会在当前目录下找名字叫“Makefile”或“makefile”的文件。 如果找到它会找文件中的第一个目标文件并把这个文件作为最终的目标文件。 那我们来举个例子 以图片内的代码为例 将myfile.c文件内写好代码 先创建Makefile文件这里makefile和Makefile都可以
在Makefile中写入如下代码那么我们就会问 myfilemyfile.c是什么意思 myfile与myfile.c为依赖关系 而下面 gcc -o myfile myfile.c为依赖方法我们解释下我们想形成myfile可执行那么我们要依赖myfile.c文件如何依赖就需要依赖方法来将myfile与myfile.c进行相关操作。也就是需要依赖关系加依赖方法来形成可执行程序。 然后我们make以下就形成了myfile可执行程序图中绿字可见。在./myfile 形成 。屏幕上打印处hello
那么在工程中有些是需要进行清理的如果每次都手动清理第一是不方便第二也有可能误操作因此我们可以在Makefile中添加清理的操作。而清理需要总需要被执行的因此用**.PHONY来修饰。下面对.PHONY**有相关解释
可以看到在输入make clean命令后执行了 rm -f myfile的命令查看结果myfile被清理掉了。 注意 在写依赖方法时前面需要TAB一下空格
.PHONY
.PHONY来修饰clean而**.PHONY的作用为设置为伪目标,伪目标的特性是总是被执行的。 为了方便大家理解我们来看这个例子 图中我们多次make**但是除了第一次形成可执行外第二次三次都没形成可执行这样为不是总是被执行如果我们将myfile设置成总是被执行是否可以多次形成。 在设置给myfile设置**.PHONY后可以看到make可以多次形成 一般自己形成的可执行不用.PHONY**去修饰大量代码的编译需要大量时间 make在执行makefile规则中根据语法规则会分析目标对象与依赖对象的时间信息判断是否在上一次生成后源文件发生了修改修改后的源文件比可执行的时间要晚make判断发生了修改需要重新生成因此一般只需要让修改过后的重新编。在这里插入代码片