【C言語】コンパイルとリンク / Compile & Link
【C言語】
コンパイルとリンク / Compile & Link
コンパイルの実行
コンパイラ | コマンド |
gcc | gcc オプション ファイル名 |
Visual C++ | cl オプション ファイル名 |
C# | csc オプション ファイル名 |
「gcc」オプション一覧の表示 | gcc /? |
「cl」オプション一覧の表示 | cl /? |
「csc」オプション一覧の表示 | csc /? |
プログラムの実行
コンパイルで出力した「ファイル名」をコマンド入力することで実行する。
同ディレクトリにある実行ファイル |
./ファイル名.out
./ファイル名
ファイル名
|
サブディレクトリにある実行ファイル |
./ディレクトリ名/ファイル名.out
./ディレクトリ名/ファイル名
|
絶対パスでの指定 |
/ディレクトリ名/ファイル名.out
/ディレクトリ名/ファイル名
|
Visual C++ |
実行ファイル(ファイル名.exe)
クラスライブラリ=.dll
|
C++ |
ファイル名.exe
|
コンパイルとは
プログラムを機械語に翻訳することをコンパイルという。
翻訳を行うツールをコンパイラという。
プログラムをオブジェクトファイルという機械語の集まりに変換することになる。
リンクとは
オブジェクトファイルを実行可能な部品に結合する作業をリンクという。
結合を行うツールをリンカーと呼ぶ。
リンクが終わると実行ファイルと呼ばれ、アプリケーションとして実行できるファイルを生成することができる。
コンパイルによって生成されたオブジェクトファイルや、ライブラリファイルを関連付けて、実行ファイルを生成する作業を「リンク」という。
C言語で記述されたソースプログラムをコンパイルして機械語に翻訳した時点では実行できない。
コンパイルしてできあがったオブジェクトモジュールは、あくまでもソースプログラムを機械語に変換したもの。
実行できる形式の「実行モジュール」は、オブジェクトモジュールといくつかの部品(Cコンパイラのメーカが用意してくれた「関数ライブラリ」や、開発者が作った他のオブジェクトモジュール)をひとつにまとめたもの。
実行モジュールをひとつにまとめる作業を「リンク」と呼び、リンクするプログラムを「リンカ」と呼ぶ。
Windows上で動作するCコンパイラでは、実行モジュールのファイルの拡張子は「.exe」。
ビルドとは
デバッグモード |
開発者が、Visual C++で、プログラムを1行ずつ進めたり、デバッグメッセージを見たりするためのビルド。
|
リリースモード |
サイズを小さくしたり、実行速度を速めたりといったリリース向きの条件でビルドすること。
|