哪位大神可以帮我看看这串代码什么意思吗?详细一点,谢谢谢谢大神
makefile其实就是代替编译器,给你把一组文件给编译起来。
比如vc6就是个编译器,会帮你把文件库等等进行加载编译,而makefile则是代替了这个功能,直接实现了编译。
我接触的一般是linux下会用到。
makefile并非编译器,也不能代替编译器,相反,它的作用是一个给专门用于生成的工具写的批处理。
在大型项目中,编译非常复杂,需要考虑好多问题,比如说各个代码的相互依赖关系,先编译谁,再编译谁。
编译的参数五花八门,有的甚至需要同时产生多个平台的发布(release)
有的涉及多个语言,或者多个编译程序。
如果没有makefile,那么就需要手工一个一个去编译,最后构建出一个完整的程序。有了makefile,那么只要执行下它,就等着自动生成了。
从某种程度上来说,visual studio这样的集成开发环境可以代替makefile。你在visual studio里来一个全部生成,那么也就全部编译好了,似乎不用和命令行打交道。但是微软windows sdk的例子还是用了makefile
微软的make程序叫做nmake(现在微软也用msbuild),这是因为,虽然一个项目的多个源代码用vs编译很方便,但是要编译几十几百的项目,一个一个打开,编译,又麻烦了。
而只有脚本才能把makefile串在一起。