我正在阅读Learn C The Hard Way book,练习2。 练习中有一个Makefile(reference to GitHub repo):
CFLAGS=-Wall -g
all: ex1
clean:
rm -f ex1
我检查了man cc
以找到-Wall
选项定义,但我找不到它(link to clang documentation)。但是,我在gcc documentation中找到-Wall
选项。
Q1。为什么我可以将-Wall
选项传递给clang,即使它没有在clang中定义?
Q2。 clang和gcc之间的关系是什么?
我的开发环境:macOS Sierra 10.12.1,已安装Xcode 8.1。
答案 0 :(得分:2)
-Wall
在Clang中定义。有关其诊断消息(包括-Wall
)的参考,请参阅http://clang.llvm.org/docs/DiagnosticsReference.html。
此标志控制的某些诊断已启用 默认值。
您可以单击其他标记以深入了解所选的所有各种选项。
我发现Clang的文档对于我用过的所有内容都是完整的,尽管我当然还没有完全用尽Clang的功能。
gcc
和cc
的共同点多于它们的不同之处,LLVM项目在这里做了非常客观的比较:http://clang.llvm.org/comparison.html。
答案 1 :(得分:1)