首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

~make与makefile有什么区别解决方法

2012-09-01 
~~make与makefile有什么区别最近,好纠结。。以下,我在unix编程艺术中看到的:很多常用的典型makefile中根本没

~~make与makefile有什么区别

最近,
好纠结。。

以下,我在unix编程艺术中看到的:
很多常用的典型makefile中根本没有文件依赖关系。它们是将某些开发者想要自动化的小过程捆绑在一起的方法。
接下来,书上引用了Stuatr Feldman的话:
生成目标非文件,这早已有之。“make all” 和“clean”是早些日子我自己的习惯。有一个老Unix笑话,输入“make love”,输出是“Don't know how to make love”。
 
还看了一篇叫《和我一起学makefile》的文章,
可是,大体地看完这些,都不明白,makefile究竟是在项目中起着什么作用,又是怎么使用的。

makefile与make都有“make”,但是,make与makefile有什么区别呢。??



[解决办法]
Make之于Makefile。
相当于一个程序的配置文件和程序本身的关系。
也相当于脚本与脚本解释器的关系。

[解决办法]
在makefile文本里面写好命令。然后在linux下敲make来执行makefile里面的命令
[解决办法]
make就相当与bash, makefile, 就相当与script,
makefile是向make提供一个管理你的项目的方法, make就是去实行你所定义的方法。

所谓项目, 当你只写一个hello world一样的项目时, make 和makefile就是你的负担。
make 和makefile 是为大项目而生得
[解决办法]
make是makefile的解释执行程序。
makefile的作用就是“自动组建”的脚步,make这个程序通过你写的makefile来知道执行什么编译器编译什么文件用什么选项来编译出什么目标。
以至于一个非常庞大的项目,你只需要一个make命令就能组建完成。
[解决办法]
makefile是一些生成可执行文件的依赖关系,生成顺序,以及命令。使用make执行makefile里面的内容,进行生成。
[解决办法]
用make解释makefile的内容
[解决办法]
make是系统提供的一个可执行程序
而makefile是程序员针对自己的开发项目书写的一个文本文件
make解释makefile的内容,按程序员的期望完成编译、链接任务
[解决办法]

探讨
make是系统提供的一个可执行程序
而makefile是程序员针对自己的开发项目书写的一个文本文件
make解释makefile的内容,按程序员的期望完成编译、链接任务

[解决办法]
make是程序,makefile是程序的配置文件……
这就像你玩游戏的时候,双击图标,这个东西就相当与make,是真正可以执行的程序,进入游戏以后,你要读自己的存档,要根据这个存档来继续游戏,这个存档就相当与makefile……
在执行meke的时候,make程序会自动的查找makefile这个文件,如果没有这个文件,make无法执行……
[解决办法]
make是应用程序,以makefile所定义的规则去执行,可以编译和链接代码,可以调用外部命令。
[解决办法]
探讨
引用:
make是应用程序,以makefile所定义的规则去执行,可以编译和链接代码,可以调用外部命令。


其实看完上面的解说后,我可以明白make和makefile是怎么一回事了,

是不是这样的呢:
makefile其实是一个文本文件,
而make其实是执行该文本文件。


???

[解决办法]
make是动词
makefile是名词

makefile中指定了各种依赖规则,编译和链接规则,当运行make的时候,就会自动执行makefile中设定的那些内容。
[解决办法]
越来越形象了。来个更形象的:
make是乐团指挥,
makefile是它看的总谱
总谱中描述了各个乐手(象编译器、链接器等)的演奏分谱

乐园指挥按总谱挥动指挥棒,调度各位乐手演奏(编译器、链接器按序工作),。。。。直到一部乐曲(一个多件源文件、目标文件、库文件生成的程序)诞生
[解决办法]
导演====make
剧本====makefile
演员====MAKE调用的外部命令,如编译器、链接器等

电影====生成的程序
[解决办法]
make是工具,由Makefile驱动。
即你自己在Makefile中写规则,描述文件的依赖关系以及生成方法,然后运行make,指明Makefile和目标,由工具自动生成目标。

[解决办法]
MakeFile是可以看做是脚本文件,Make是执行程序。
就像你可以将C++看成是一种脚本语言,C++写的程序是脚本程序(对比MakeFile的脚本文件,遵循一定的脚本语言规则),用于解释MakeFile的Make就相当于用于解释C++的g++应用程序。
------解决方案--------------------


探讨

make是系统提供的一个可执行程序
而makefile是程序员针对自己的开发项目书写的一个文本文件
make解释makefile的内容,按程序员的期望完成编译、链接任务

热点排行
Bad Request.