9
C関数に対するexternキーワードの影響
Cでは、extern関数宣言の前に使用したキーワードの影響に気付きませんでした。最初は、私が定義するときと考えextern int f();、単一のファイルに力あなたが外で、ファイルのスコープのそれを実装します。しかし、私は両方がわかった: extern int f(); int f() {return 0;} そして extern int f() {return 0;} gccからの警告なしで、問題なくコンパイルします。私が使用しましたgcc -Wall -ansi。//コメントすら受け付けません。 extern 関数定義の前に使用する効果はありますか?それとも、関数の副作用のない単なるオプションのキーワードですか? 後者の場合、標準の設計者が文法を余分なキーワードで散らかすことを選択した理由がわかりません。 編集:明確にするために、extern変数での使用法は知っていますが、私は関数についてのみ質問しexternています。