C言語ではプロトタイプや定義なしの関数を呼び出すことができ、コンパイル(リンクなし)はうまくいきました。 linkコマンドに渡される他のモジュールで関数が定義されていると、リンクが機能します。しかし、コールサイトは、それに渡されるすべてのパラメータがint
タイプであると仮定します。この動作やC標準の一部についてのドキュメントはありますか?スコープで宣言を持っていないCでプロトタイプなしで関数を呼び出すためのドキュメントはありますか?
たとえば、ソースファイルの下にVCで問題なくコンパイルすることができ++ 2010
// NoPrototype.c
// Compile it as cl.exe /c NoPrototype.c
int main()
{
FakeFunction(1, 2, 3); // No definition for this function in this compilation unit.
}
[Cの関数プロトタイプを宣言する必要がありますか?](http://stackoverflow.com/questions/2575153/must-declare-function-prototype-in-c) [プロトタイプのない旧式の関数を使ったCコンパイラの動作](http://stackoverflow.com/questions/2287164/the-behavior-of-ac-compiler-with-old-styled-functions-without-プロトタイプ)。 –