スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コンパイラ方式とインタプリタ方式それに中間言語方式

今回は書いたプログラムの実行の方法について、書いてみたいと思います。(結構話がそれていますが)

@説明開始
【概要】
Cなどの言語は、人間に分かりやすいようにされている言わば「高級言語」の部類に入る言語です。しかし、コンピュータは、Cで書けるようになったからといって、人間の言葉を少し理解したわけでは有りません。コンパイルをしますよね。gccとかそういうのです。それくらいは多分誰でも分かると思います。しかし、プログラムを実行する方法はコンパイルするだけではないんです。インタプリタ方式という方法があります。このインタプリタ方式というのは、人間に分かりやすいように書いてある高級言語を、コンパイルしながら実行しているんです。
                
これがインタプリタ方式の実態でしょうか?FC2の描画ソフト使って行ったので字が変ですね(汗)次回からはちゃんと現実世界で書きます...

【コンパイラ方式の長所短所】
この二つの方式はまさに一長一短なんですね。コンパイラ方式の長所としては、実行時の速さが挙げられます。まぁそりゃ当たり前ですね。機械語を実行しているのに他ならないのですから。
逆に、短所には、機械語に変換する手間がかかります。
【インタプリタ方式の長所短所】
基本的にコンパイラ方式の真逆ですね。実行するのに必要なステップを一回ですませる代わりに、コンパイルしながら実行しているわけで、実行効率が悪いんですね。じゃぁこんなの使わなくてよくね?ってことになってしまうんですが、この方式だとどんなOSの環境にも対応できるんですね。例えば、winPCで作ったプログラムを実行ファイルにしてmacに持ってくると使えない(はず)です。ただプログラムは同じなので、プログラムを持ってくればmacで使うことができます。macのアプリケーションがwinで使えないのと同じですね。

【中間言語を使う】
しかし、最近javaなどでは、中間言語を一度介してから、インタプリタ方式で実行するという方法が有ります。(obj-cにはないんじゃない?)これは、二つの方法のいいどこどりのようなものなんですね。(まぁ一度中間にコンパイルしなきゃいけないんだから完全にいいとこどりではないけど)この方式によって、実行効率はインタプリタより速く、しかし様々なOS環境に対応させることができるようになるんですね。

@説明終了

いつも、Cなどでなんとなく使っているコンパイラですが、ほかにも様々な方式(二つ)があることが分かりましたでしょうか?

まぁ知っている人がほとんどだとは思いますが、一応メモがてら更新しました。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

小さなプログラマ

Author:小さなプログラマ
小さなプログラマです。

これはあくまで、「勉強ログ」なので間違っている場合が多々あります。

なので、このブログに書いてあることは、8%くらいの信じ度でお願いします。

間違っているじゃないか!と言われてもあれなので。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
メールフォーム

名前:
メール:
件名:
本文:

カテゴリ
カウンター
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。