【发布时间】:2018-07-12 12:39:27
【问题描述】:
我正在尝试学习用 C 编程,并且我已经习惯了在编写代码后对其进行编译。我实际上是使用 K&R 2nd edition 开始的,他们使用 'cc' 进行编译。我最初开始使用 Zed Shaw 的 Learn C The Hard Way,但我已经停止了,因为我没有听到很多关于它的好消息。 Zed Shaw 的方式是使用“make”来编译代码,至少在开始时是这样。
使用 'make' 和使用 'cc' 之间有什么我现在应该关注的技术差异吗?
【问题讨论】:
-
make要求你为你的项目写一个Makefile,这基本上是一种指示编译器和链接器做什么的格式。cc只是一个 C 编译器。 -
@PatrickRoberts 你可能知道
make有许多可以在没有Makefile的情况下使用的默认设置。 -
@Code-Apprentice 我实际上并没有意识到这一点。我从未尝试在没有
Makefile的项目上运行make。 -
@PatrickRoberts Zed Shaw 在我退出之前在书中讨论了一点 Makefile,但我不明白它是什么,而且我没有用于我正在使用的简单程序的 Makefile K&R 的书。 Make 似乎仍然有效。我只是不想在一开始就养成一个坏习惯,如果我不应该这样做的话。
-
一旦你超越了单一源文件的练习,使用
make就变成了,如果不是必需的,那么非常可取,尤其是因为你可以安排make只重新编译那些需要的东西要重新编译,还要保证所有需要重新编译的东西都重新编译。对于足够小的程序,使用现代机器和编译器简单地重新编译所有内容可能是可行的,但使用make可以在更大的项目上节省大量时间(以及痛苦和悲伤)。
标签: c makefile compilation cc