インラインアセンブラ 【inline assembler】
概要
インラインアセンブラ(inline assembler)とは、コンパイラの機能の一つで、高水準言語で記述されたプログラムの一部に特殊な記法で埋め込まれたアセンブリ言語のプログラムを解釈してオブジェクトコードに変換する機能のこと。アセンブラは機械語と一対一に対応するアセンブリ言語のプログラムを機械語のプログラムに変換するソフトウェアで、コンパイラはC言語のような高水準プログラミング言語のプログラムを機械語のプログラムに変換するソフトウェアである。
インラインアセンブラはコンパイラの機能の一部として簡易なアセンブラが統合されているもので、高水準言語のプログラムの一部に専用の記法を用いて記述されたアセンブリ言語のプログラムを解釈し、機械語のプログラムに変換する。コンパイラが解釈・変換する高水準言語の部分と統合して、全体を一つの機械語プログラムとすることができる。
アセンブリ言語の埋め込みプログラムは、どうしても高水準言語では難しい処理を記述するために例外的に用いる。例えば、CPUの性能を極限まで引き出して実行速度を高めたい場合や、メモリ使用量を極限まで減らしたい場合、特定のCPUの機種が持つ拡張命令を利用したい場合などに使う。実行効率が上がる反面、機械寄りのコードが混じることによりプログラムの見通しが悪くなり、機種依存性が高まるというデメリットもある。
(2024.6.7更新)