だけを使ってプログラムをコンパイルすると
gcc code.c
メッセージはなく、出力ファイルは正常に生成されます。出力されたファイルは動作します。ただし、IDEで同じcygwinインストールのgccコンパイラを試してみると(NetbeansとDev-C ++を試しました)、次のエラーが発生します
main.cpp:27: error: `exit' undeclared (first use this function)
main.cpp:27: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:77: error: `write' undeclared (first use this function)
main.cpp:78: error: `close' undeclared (first use this function)
何が違うのかわかりません。なぜコンパイルされないのですか?
OK、問題は、IDEではファイルの拡張子が.cppであるのに対し、ターミナルからコンパイルする場合は拡張子が.cであるということでした。だから、私の新しい質問は、C++ファイルとして扱われるときになぜコンパイルされないのかということです。CはC++のサブセットではありませんか?