わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

こんにちは,エラーのある世界 (5)studio.hと書いたら

こんにちは,エラーのある世界(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.

実行環境1では:

実行環境2のコマンドは:

$ 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に載っていました.