2

次のようなコード スニペットがあると仮定します。

#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
printf("%d",5);
}

Apple LLVM バージョン 5.0 (clang-500.2.79) (LLVM 3.3svn ベース) コンパイラでは正常にコンパイルおよび実行されますが、gcc バージョン 4.4.5 (Debian 4.4.5-8) では失敗し、そうではないと言って失敗します。 「printf」関数を認識します。私の大学の教授は後者を使用していますが、今日、私のプログラムは機能しないと言われました。

私の質問は、なぜこの場合、clang (OS X 10.9 で g++ namefile.cpp によって実行される) に "cstdio.h" が自動的に含まれるのですか?

PS。C++ には cin ストリームと cout ストリームがあり、それで問題が解決することは承知していますが、私の質問はより理論的であり、自動インクルードの将来の目的のためのものです。

4

1 に答える 1