Everything
2.1 概  要

CC-RLは,C言語やアセンブリ言語で記述したソース・プログラムから,ターゲット・システムで実行可能なファイルを生成します。

以下のコマンドで構成されており,1つのコンパイル・ドライバ(ccrl)がコンパイルからリンクまでの全フェーズを制御します。また,ライブラリジェネレータ(lbgrl)を使用して,標準ライブラリを作成します。

ccrl : コンパイル・ドライバの起動コマンド

asrl : アセンブラの起動コマンド

rlink : 最適化リンカの起動コマンド

lbgrl : ライブラリジェネレータ【V1.13以降】

 

各コマンドの処理について説明します。

(1)

コンパイラ

Cソース・プログラムに対して,プリプロセス指令の処理,コメント処理,最適化を行い,アセンブリ・ソース・プログラムを生成します。

(2)

アセンブラ

アセンブリ・ソース・プログラムを機械語命令に変換して,再配置可能なオブジェクト・ファイルを生成します。

(3)

最適化リンカ

オブジェクト・ファイル,ライブラリ・ファイルをリンクし,ターゲット・システムで実行可能なオブジェクト・ファイル(ロード・モジュール・ファイル)を生成します。

また,組み込みアプリケーション向けのROMイメージ作成支援,リロケータブル・ファイル結合時の最適化,ライブラリ・ファイルの作成や編集,インテル拡張ヘキサ・ファイルやモトローラ・Sタイプ・ファイルへの変換,saddr変数やcallt関数の宣言を記述した変数/関数情報ファイルの生成を行います。

(4)

ライブラリジェネレータ【V1.13以降】

標準ライブラリを生成するツールです。標準ライブラリを生成する際,任意のコンパイル・オプションを指定することができます。

図 2.1

ccrlにおける処理の流れ