補足:エラーについて


エラーとはプログラムになんらかの誤りがあることを言います。 CC コマンドの実行時に報告されるエラーには、 次の2つのタイプがあります。

% CC hello.cc[Enter]
"hello.cc", line 5: error(3105): missing closing quote
            cout << "hello!\n;
                    ^

"hello.cc", line 6: error(3158): expected a ";"
          }
          ^

2 errors detected in the compilation of "hello.cc".

これはソースプログラムに構文上の誤りがある場合に、 コンパイラによって報告されるエラーです。 この例では "Hello!\n という文字列の最後に " がありません (missing closing quote)。

% CC sample.cc
ld: ERROR 33: Unresolved text symbol
"print(char*)" -- 1st referenced by hello.o.
ld: INFO 60: Output file removed because of error.

これは構文上に誤りはないものの、 存在しない 関数を使用してるために、 リンカによって報告されているエラーです。 この例の print はどこにも定義されていません。

なお、printf などは、 ライブラリ関数 として、あらかじめ用意されているので、 自分で定義していなくてもエラーにはなりません。