Goo*_* Lu 8 compiling scripting development make
我已经看到这make对大型项目很有用,尤其是在 a 中描述的令人困惑的依赖项Makefile,并且还有助于工作流程。我还没有听说make用于小型项目的任何优势。有吗?
小智 15
许多其他人正在研究更复杂的 makefile 的细节以及随之而来的许多复杂性。我通常出于完全不同的原因使用 makefile:
即使您的项目非常无聊和简单,并且您没有“正确”使用 makefile:
all:
gcc main.c -o project
Run Code Online (Sandbox Code Playgroud)
与更复杂的项目相比,我不需要考虑它或以任何不同的方式对待它:
all:
gcc libA.c libB.c main.c -o project2
Run Code Online (Sandbox Code Playgroud)
或者如果我指定了标志(例如-O2),我不需要记住它们是什么。
此外,如果您从一个简单的 makefile 开始,并且稍后需要合并/重构内容,则无需记住以不同方式构建每个项目。
G-M*_*ca' 11
与什么相反?
假设您有一个程序,您已将其拆分为两个文件,并富有想象力地将其命名为file1.c和 file2.c. 您可以通过运行来编译程序
cc file1.c file2.c -o yourprogram
Run Code Online (Sandbox Code Playgroud)
但这需要每次都重新编译这两个文件,即使只有一个文件发生了变化。您可以将编译步骤分解为
cc -c file1.c
cc -c file2.c
cc file1.o file2.o -o yourprogram
Run Code Online (Sandbox Code Playgroud)
然后,当您编辑其中一个文件时,仅重新编译该文件(无论您更改了什么,都执行链接步骤)。但是,如果您编辑了一个文件,然后又编辑了另一个, 并且您忘记编辑了两个文件,并且不小心只重新编译了一个,该怎么办?
此外,即使只有两个文件,那里也有大约 60 个字符的命令。打字很快就会变得乏味。好的,当然,您可以将它们放入脚本中,但是您每次都需要重新编译。或者您可以编写一个非常花哨、复杂的脚本来检查哪些文件已被修改并且只进行必要的编译。你明白我要去哪里了吗?
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |