こんにちは,エラーのある世界(0)のhello.cについて,1行目の「stdio」を,「studio」に変更して,hello5.cという名前で保存しておきます.
このファイルをコンパイルすると,エラーになります.今回もまた,実行環境1と実行環境2とで,エラーメッセージが一部異なって表示されました.
実行環境1のコマンドは:
$ cat hello5.c #include <studio.h> int main(void) { printf("hello, world\n"); return 0; } $ cc hello5.c hello5.c:1:10: fatal error: studio.h: No such file or directory #include <studio.h> ^~~~~~~~~~ compilation terminated.
$ cat hello5.c #include <studio.h> int main(void) { printf("hello, world\n"); return 0; } $ cc hello5.c hello5.c:1:10: fatal error: studio.h: そのようなファイルやディレクトリはありません #include <studio.h> ^~~~~~~~~~ compilation terminated.
実行環境2では:
「error」の前に「fatal」という単語がついています.「致命的な」という意味ですが,プログラムを書く(編集する)側としては,fatalの有無に関係なく,ソースファイルの中のおかしな語句を(今回の例では,studioをstdioに)修正すればいいでしょう.
「No such file or directory」は,今回のエラーに限らず,Linuxのコマンド実行時によく見かけるメッセージです.日本語に訳すなら,実行環境2のコマンドに表示されている,「そのようなファイルやディレクトリはありません」になります.
「stdio.h」というのは,そういう名前のファイルが,コンパイルする環境にはある(Cの規格にも定められている)ということです.「stdio」の語源はSTanDard Input/Output(標準入出力)です.「h」はHeader(ヘッダ)です.「すとぅでぃお・てん・えいち」と読むのでstudioと誤解しやすい,という方には,「スタンダード・アイオー・ドット・ヘッダー」と読むことをおすすめします*1.
*1:この読み方は『Cプログラミング入門以前』isbn:4839920648に載っていました.