中易网

linux里面的make和makefile是做什么的?

答案:5  悬赏:60  
解决时间 2021-01-14 10:23
  • 提问者网友:温柔港
  • 2021-01-13 13:48
linux里面的make和makefile是做什么的?
最佳答案
  • 二级知识专家网友:舍身薄凉客
  • 2021-01-13 14:54
1、make:是一个非常重要的编译命令,本质上它是一个程序。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。

2、Makefile文件 :Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作,本质上makefile文件是个文本文件,用于配置编译过程。makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。

3、在 UNIX 系统中,习惯使用 Makefile 作为 makfile 文件。如果要使用其他文件作为 makefile,则可利用类似下面的 make 命令选项指定 makefile 文件:

  $ make -f Makefile.debug

  例如,一个名为prog的程序由三个C源文件filea.c、fileb.c和filec.c以及库文件LS编译生成,这三个文件还分别包含自己的头文件a.h 、b.h和c.h。通常情况下,C编译器将会输出三个目标文件filea.o、fileb.o和filec.o。假设filea.c和fileb.c都要声明用到一个名为defs的文件,但filec.c不用。即在filea.c和fileb.c里都有这样的声明:
  #include "defs"
  那么下面的文档就描述了这些文件之间的相互联系:
   #It is a example for describing makefile
   prog : filea.o fileb.o filec.o
   cc filea.o fileb.o filec.o -LS -o prog
   filea.o : filea.c a.h defs
   cc -c filea.c
   fileb.o : fileb.c b.h defs
   cc -c fileb.c
   filec.o : filec.c c.h
   cc -c filec.c
  这个描述文档就是一个简单的makefile文件。
全部回答
  • 1楼网友:酒安江南
  • 2021-01-13 17:34
Windows 下面有IDE, Linux呢? Linux vim+make+gcc 哈哈
  • 2楼网友:妄饮晩冬酒
  • 2021-01-13 17:17
这是两个命令。用于编译文件。就是从网上下载程序源代码,在本机亲编译成程序使用。这样做的好处是代码可以自己修改,生成适合自己喜好的程序,还有一点是在下载过程中省网络资源。
  • 3楼网友:人類模型
  • 2021-01-13 16:27
make是进行代码编译的工具,它会自动读取makefile文件,然后调用编译工具来进行软件的编译和安装工作。makefile是编译的依据或者说编译的命令代码了。
  • 4楼网友:渡鹤影
  • 2021-01-13 15:30
makefile提供一组脚本,make程序解释makefile ,按照makefile的规则来编译,安装源代码
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息