问题

我在linux中学习c编程,当我遇到这行代码时

 $ make ex1

cc ex1.c -o ex1
 

我的问题是为什么我们必须使用make exe1,不是cc命令构建库和其他必要文件.

  最佳答案

对于一个单文件项目,它们大致相同.但是,实际世界项目往往有数十个,数百个或数千个文件,并构建数十个或数百个库和可执行文件,可能有不同的设置等.在不存储编译命令的情况下管理所有这些都是不可能的,Makefile是一个非常有用的“某个地方”.

make的另一个重要属性是它对文件进行时间戳检查,并且只重新运行输出已过时的编译/链接命令,即至少其中一个输入比输出更新.没有这种检查,您必须手动记住当您更改某些东西时需要重新编译的文件(当更改的文件是标题时尤其困难),或者总是重新编译所有东西,按大小顺序增加构建时间.

  相同标签的其他问题

clinuxubuntumakefilecompilation