私はMakefileにはこのような運動(reference to GitHub repo)でありLearn C The Hard Way book、運動2. を読んでいる:link to clang documentation(Clang:-Wallオプションはどこに定義されていますか?
CFLAGS=-Wall -g
all: ex1
clean:
rm -f ex1
私は-Wall
オプション定義を見つけるために、man cc
をチェックし、私はそれを見つけることができませんでした)。しかし、私は-Wall
オプションをgcc documentationに見つけました。
Q1。なぜclangで定義されていないのに、
-Wall
オプションをclangに渡すことができますか?Q2。 clangとgccの関係は何ですか? MacOSのシエラ10.12.1、Xcodeの8.1がインストールされています。私の開発環境は
。
一般に、GCCがこのオプションをサポートしている場合、 'clang'も同様です。 'clang'にはGCCにはないいくつかのオプションがあります(例えば' -Weverything')。過去のコードを取得することを幸運に - 「すべて」。それは不可能ではありませんが、警告の中には一般的にあまり役立たないものもあります(たとえば、標準で定義されたマクロをテストする完璧なコードについて警告する人もいれば、コメントのテキスト(!)を分析して、私は '-Wno-padded -Wno-vla -Wno-reserved-id-macro -Wno-documentation-unknown-command'を' -Weverything'と一緒に使用します。 –
@nosにリンクしたそのページの 'エラーと警告メッセージを制御するオプション'の下に、 '-Wall'を含むすべての可能なフラグを詳細に示す診断参照へのリンクがあります。 –
@Keita、あなたが探していたドキュメントを提供した場合は、回答を受け入れられた解決策としてマークしてください。そうすれば、この質問には質問者にとって効果的な解決策があります。 –