この質問は、この動作が間違っている理由を明示的に説明する標準的な引用を探しています。
<stdio.h>
内部を含む以下のコードmain
、
int main()
{
#include <stdio.h>
printf("hello , world \n");
return 0;
}
On gcc -Wall in.c -o in.out
It は正常にコンパイルおよび出力されhello , world
ます。
しかし、clang in.c -o in.out
それは私にこのエラーを与えます:
/usr/include/stdio.h:353:12: error: implicit declaration of 'fprintf' requires
inclusion of the header <stdio.h>
extern int fprintf (FILE *__restrict __stream,
^
1 error generated.
私の疑問は、これはどのような行動ですか?これは未定義の動作ですか、それとも何ですか?
また、それに関連するドキュメントを見つけることができません。
編集:問題は、このコードをどこかに似ていることですが、そのコードを正確に投稿できないため、この種のデモコードを投稿しましstdio.h
た.メインの外に配置することを知っています.