| Visual Basic 中学校 関連用語集 |
|
|
| 意味 |
意味1.ビルドとはソースコードから実行可能な形式のファイルを作り出す作業。
意味2.ビルドとは意味1で作成されたファイル。たとえば、「昨日のビルド」と言えば、昨日ビルドして作成したexeやdllなどのファイルという意味になる。
| 詳細 |
コンピュータで命令を実際に実行するのはCPUですから、命令はCPUに理解できる形式である必要があります。
CPUが理解できる命令の形式は機械語(マシン語)であって、CPUのメーカーによって定義されています。
機械語はCPUの効率を優先して設計されているために人間には非常にわかりにくい言語です。
そこで通常はある程度人間にわかりやすく設計されたプログラミング言語を使ってプログラムを組んで、その後でそれを自動的に機械語に変換します。この作業がビルドです。
ビルドはコンパイルとリンクという2つの過程から成り立っています。コンパイルはソースコードを単純に機械語に翻訳する作業です。リンクはコンパイルされた複数のファイルをつなぎ合わせてつぎつまが合うように1つのファイルを作成する作業です。
コンパイルを行うソフトをコンパイラー、リンクを行うソフトをリンカーと呼びます。
近年では仮想CPUを対象としてビルドを行うことが多くなっています。仮想CPUを対象としてビルドしたものはそのままでは実際のCPUでは実行できませんので、この場合は実際に実行するときには仮想CPUをエミュレートしたソフトや、仮想機械語を実際の機械語に翻訳しながら実行する形態をとります。このような仮想機械語を中間言語と呼びます。
このような仮想化を行うことによりCPUの種類を問わず、同じビルドが様々な環境で実行できるようになります。
Visual Basicなどの.NET言語をビルドした場合もCILと呼ばれる中間言語に変換されます。
なお、実際には機械語になっていればすべてCPUで実行できるわけではありません。ソフトウェアとCPUを中継しているOSにとっても理解できる形式である必要があります。Windowsではこのようなファイルの形式としてPEという規格が定められています。つまり、Windows上では実行可能なファイルとはPE形式ののっとっているファイルで命令部分が機械語で記述されているものということになります。
| ビルドとリビルドの違い |
一般的にビルドでは前回のビルドから変更のあったファイルのみコンパイルします。リビルドは変更の有無にかかわらずすべてをコンパイルし、リンクしなおします。
Visual Basicでは変更の有無はタイムスタンプによって行われているようですが詳細は不明です。動作がおかしい時や節目節目のタイミングではビルドではなくリビルドを使用します。
また、成果物をすべて削除するクリーンという操作も可能です。クリーンしてからビルドすることは、リビルドすることと同じです。
| Visual Basic 中学校からのアドバイス |
ソースコードからexeファイルやdllファイルを作り出す作業がビルドだと思っておけばまず間違いありません。
| Visual Basicとの関係 |
VB.NET2002以上のバージョンでは実行するたびにビルドが行われています。ビルドメニューから明示的にビルドを行うこともできます。
VB6以前のバージョンでは開発環境で実行するときにはビルドが行われず、インタープリターという種類の制御プログラムがソースコードを実行します。そのため、ごくごくまれではありますがトリッキーなプログラムを組んでいると開発環境での動作とexeを実行したときに動作が異なる場合があります。
| 関連用語 |
コンパイラ
コンパイル
ビルド番号
リビルド
リンカ
リンク