「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

コンパイルエラー

pointこの用語のポイント

pointエラーだよ

pointコンパイル時に発生したやつだよ

pointプログラムの書き方がおかしい場合が多いよ

スポンサーリンク

簡単に書くよ

コンパイルエラー(英:compile error)とは

「人間語で書いたプログラムの元ネタを人間語から機械語へ翻訳(コンパイル)するのに失敗しました」エラーのこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として、プログラムの作り方と「コンパイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

プログラムを作って動かすまでの一般的な流れは

1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する


です。

コンパイルエラー

コンピュータさんは人間語が分かりません。

コンパイルエラー2

人間様はコンピュータさんの言葉が分かりません。

コンパイルエラー3

プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。

コンパイルエラー4

次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。

コンパイルエラー5

コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。

コンパイルエラー6

かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。

この話で登場した「人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳する作業」を「コンパイル」と言います。
人間語を機械語に翻訳する作業です。

コンパイルエラー7

以上を踏まえて、本題に入ります。

コンパイルは人間語で書かれたプログラムをコンピュータさんが分かる形(機械語)に翻訳する作業です。

コンパイルエラー8

このときに発生するエラー、もう少し具体的に書くと

人間語から機械語への翻訳が上手くできないときに発生するエラー

が「コンパイルエラー」です。

コンパイルエラー9

コンパイルエラーは主に

人間語で書いたプログラムの内容が間違っているとき

に発生します。

例えば、そうですね。
ピヨ太君が人間語で以下の処理を書いたとしましょう。

1.掃除をしろ
2.洗濯をしろ
3、おっぺけぺー!
4.ご飯を作れ


コンパイルするのがお仕事のプログラムコンパイラは、この内容を機械語に翻訳します。

コンパイルエラー10

1行目には

1.掃除をしろ

と書いてあります。
これを

ソウジヲシーロ

に翻訳しました。

コンパイルエラー11

2行目には

2.洗濯をしろ

と書いてあります。
これを

センタクヨロシク

に翻訳しました。

コンパイルエラー12

3行目には

3、おっぺけぺー!

と書いてあります。
これを……何じゃ?こりゃ。

コンパイルエラー13

何が書いてあるのか、よく分かりません。
これでは機械語に翻訳するのは無理です。

こんなときにコンパイラさんは、どうするでしょう?

答えは

翻訳を諦める

です。
「分からん……作ったやつに何とかさせよう」と判断して「おい、何かおかしいぞ。出直して来い!」と差し戻します。

コンパイルエラー14

だって、翻訳できないんですもん。
仕方ないじゃないですか。

これがコンパイルエラーです。
コンパイルするときに発生する

「人間語から機械語への翻訳が、できませんでした!」なエラー

です。

コンパイルエラーが発生するとコンパイルは失敗します。
動かせるプログラムになりません。

原因はプログラムの書き方ミスの場合が多いでしょう。
「そんな書き方は、できないよ?」な書き方をしている部分があるはずです。

コンパイラさんは優しいやつです。
コンパイルエラーが発生すると「この部分が、よく分からなかったよ!」と教えてくれます。

コンパイルエラー15

その部分を見直して修正してあげてください。
コンパイルエラーがなくなればコンパイルは成功するはずです。

なお、コンパイルエラーと同じような意味の用語に「構文エラーシンタックスエラー」があります。
構文エラーは「プログラムの書き方が間違っていますよ」エラーです。

コンパイルエラー16

コンパイルエラーと構文エラーは基本的に同じものだと思って かまいません。

字面だけ見ると、コンパイルエラーはコンパイル時に発生するエラー全般を指す用語です。
プログラムの書き方が間違っている以外の原因も考えられるでしょう。
「コンパイラがおかしい」や「必要なファイルが見つからない」などが原因でコンパイルに失敗する可能性もあります。

ですが、一般的にはプログラムの書き方ミスが原因のエラー(構文エラー)を指して「コンパイルエラー」と表現します。
それ以外の理由でコンパイルが失敗することは、あまりないからです。

「必要なファイルが見つからない」のも「存在しないファイルを読み込む処理を書いている」のが原因です。
書き方のミスと解釈できます。


image piyo2

一言でまとめるよ

まぁ「コンパイルエラー」って単語が出てきたら「コンパイル(人間語で書いたプログラムの元ネタをコンピュータさんが分かる形に翻訳すること)できなかったよエラーなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像046
書籍画像071

おまけ

■訳してみるよ

「compile(コンパイル)」の意味は「1つに集める」とか「編集する」とかです。
「error(エラー)」の意味は「誤り」とか「間違い」とか「過失」とかです。
何となく くっつけると

編集の誤り

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Kubernetes入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
マンガでわかるITパスポート