-PR-
解決済み

コンパイラとアセンブラの違い

  • すぐに回答を!
  • 質問No.9745
  • 閲覧数6168
  • ありがとう数5
  • 気になる数1
  • 回答数4
  • コメント数0

教えてください。
できれば特徴とかをわかりやすく教えて欲しいです
お願いします
通報する
  • 回答数4
  • 気になる1
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

コンパイラとアセンブラというよりも
コンパイルとアセンブルの違いを書いた方が
いいと思うので、それを書きます。
アセンブル:
 アセンブラ言語で書いたソースプログラムを
 機械語に変換すること。
コンパイル:
 C言語やPascalと言った高級言語で書かれた
 ソースプログラムをオブジェクトプログラムに
 訳すこと。
オブジェクトプログラム:
 ソースプログラムをコンパイラで翻訳し、出力
 したプログラム。UNIXやMS-DOSでは、まだ
 完全な機械語になっていない。この後リンカに
 よって実行可能プログラムになる。

以上です。
分かりづらいところがありましたら、
補足してください。
ではでは☆

その他の回答 (全3件)

  • 回答No.2

 機械語とは、コンピュータを制御する最終的な言語のことで、それらは数字だけで記述されています。
 基本的に、機械語の1命令と1:1で対応した命令を記述するのがアセンブリングです。
 機械語には「レジスタに値を入れる」「アドレス???から値を抜く」「レジスタAとBの値を足す」などの最低限の命令しか備わっておらず、人間には分かりにくいです。
 それに対しコンパイラによってコンパイリングされる言語は「ファイルを開く」「画面に文字を出す」などの人間に分かりやすい命令で作られています。
 Windowsでは現在のところ、アセンブラは出てないようなので、基本的にコンパイラです。

 こんなところでよろしいでしょうか(^_^;


  • 回答No.3
レベル13

ベストアンサー率 46% (643/1383)

特徴ですが、アセンブラは、高速でコンパクトなプログラムが書ける。コンパイラは、複雑なプログラムが書ける。
というようになると思います。
(もちろん、これは「傾向」で、プログラムやプログラマによって変わってくる事は言うまでもありません)

あと、アセンブラのみを使ってプログラムを書く事は滅多に無いです。
通常はコンパイラを使ってプログラムを書き、高速な動作が必要な部分だけを、アセンブラで記述するって使い方が一般だと思います。
  • 回答No.4
レベル8

ベストアンサー率 31% (16/51)

アセンブラは、CPU固有の機械語命令を
1命令づつ記述されたもの(アセンブラ言語)から
中間言語(オブジェクト)を生成するもので、
コンパイラは、高級言語と呼ばれるもの
(C/C++言語、COBOL、Fortranなど)を、
機械語命令に翻訳し、中間言語(オブジェクト)を
生成するものです。

そして、生成されたオブジェクトを
リンケージエディタ(リンカ)というもので
リンクさせると、実行可能なもの
(Windows等では、EXE の拡張子のもの)が
生成されます。

ですから、
アセンブラは、使用するCPUによって
記述が異なります。(互換性がない場合)

記述としては、
(Intel系のCPU)
MOV   EAX,EBX
とか、
(日立マイコン)
MOV.L ER4,ER5
みたいな感じです。

高級言語の場合は、特殊な場合を除いて
特に、機械語を意識して記述する事はありません。
(C言語の記述例)
short i;
for( i=0; i<100; i++ ){
printf( "Num[%2d]\n", i );
}
ですから、ソース互換の高級言語ファイルを
異なるアーキテクチャのマシンで、
それぞれコンパイルした場合、
全く違うものが生成されます。

通常、Windows用アプリケーション開発などは、
高級言語を使用しますが、
民生器機に組み込まれる制御ソフト等では、
(全てではないにしろ)アセンブラで記述することが
多いですし、どうしてもアセンブラ記述する部分が
発生します。

以上、何か参考になれば幸いです。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ