2.4.1 コマンド・ラインでの操作方法

コンパイル・ドライバであるccrhコマンドの起動により,コンパイル,アセンブル,リンクなどを行うことができます。

また,アセンブラ(asrh),最適化リンカ(rlink)は単体起動することも可能です。

(1)

指定形式

各コマンドは,コマンド・ラインで以下のように入力します。

>ccrh[△option]...△file[△file|△option]...
>asrh[△option]...△file[△file|△option]...
>rlink[{△file|△option}...]

 

option : オプション名

file : ファイル名

[ ] : [ ]内は省略可能

... : 直前の[ ]内のパターンの繰り返しが可能

{ } : |で区切られた項目を選択

△ : 1個以上の空白

[, ...] : カンマで区切って,直前のパターンの繰り返すことが可能

[: ...] : コロンで区切って,直前のパターンの繰り返すことが可能

string := Astringを,Aで置換する

string := A | B | CstringABCのいずれか1つで置換する

 

コマンドを入力する際の注意事項を以下に示します。

-

オプションの指定形式は,使用するコマンドによって異なります。
各コマンドのオプションに対する注意事項については,「2.5.1 コンパイル・オプション」,「2.5.2 アセンブル・オプション」,「2.5.3 リンク・オプション」を参照してください。

-

ファイル名は,Windowsで認められるものであれば指定可能です。
ただし,“@”はサブコマンド・ファイル指定と判断するため,“@”をファイル名の先頭文字として使用することはできません。
また,“-”はオプション指定と判断するため,“-”もファイル名の先頭文字として使用することはできません。
さらに,“(”,“)”はリンク・オプションの一部と判断するため,“(”,“)”をファイル名に使用することはできません。


-

指定可能なファイル名の長さは,Windowsに依存します(259文字まで)。

-

ファイル名のアルファベットは,大文字/小文字を区別しません。

-

入力として複数のファイルが指定可能です。
異なる種類のファイル(Cソース・ファイルとアセンブリ・ソース・ファイル,またはオブジェクト・ファイルなど)を混在して指定することも可能です。
ただし,拡張子を除いたソース・ファイル名が同じファイルを複数指定することはできません(異なるフォルダにある場合も含みます)。
複数のファイルを指定した場合は,1つのファイルでエラーとなっても,残りのファイルの処理が継続可能であれば,処理を継続します。
なお,生成したオブジェクト・ファイルはリンク後も削除しません。



(2)

操作例

コマンド・ラインでの操作例を以下に示します。

備考

各オプションについての詳細は,「2.5 オプション」を参照してください。

(a)

コンパイル,アセンブル,リンクを1コマンドで行う場合

Cソース・ファイルfile1.cをccrhでコンパイルして,アセンブリ・ソース・ファイルfile1.asmを生成します。

次に,アセンブリ・ソース・ファイルfile1.asmとfile2.asmをasrhでアセンブルして,オブジェクト・ファイルfile1.obj,file2.objを生成します。

また,アセンブル・リスト・ファイルsample.prnも出力します。

最後に,オブジェクト・ファイルfile1.obj,file2.obj,file3.objをrlinkでリンクして,リンク・マップ・ファイルsample.map,およびロード・モジュール・ファイルsample.absを生成します。

>ccrh file1.c file2.asm file3.obj -Xasm_option=-Xprn_path=sample.prn -Xlk_option=-list -osample.abs -Xcommon=rh850

備考

ccrhに対して,asrhのみに指定可能なオプションを指定する場合は-Xasm_optionオプション,rlinkのみに指定可能なオプションを指定する場合は-Xlk_optionオプションを使用します。

(b)

コンパイル,アセンブルを1コマンドで行い,リンクは単独で行う場合

Cソース・ファイルfile1.cをccrhでコンパイルして,アセンブリ・ソース・ファイルfile1.asmを生成します。

次に,アセンブリ・ソース・ファイルfile1.asmとfile2.asmをasrhでアセンブルして,オブジェクト・ファイルfile1.obj,file2.objを生成します。

また,アセンブル・リスト・ファイルsample.prnも出力します。

>ccrh -c file1.c file2.asm -Xasm_option=-Xprn_path=sample.prn -Xcommon=rh850

備考

ccrhに対して,asrhのみに指定可能なオプションを指定する場合は-Xasm_optionオプションを使用します。

 

オブジェクト・ファイルfile1.obj,file2.obj,file3.objをrlinkでリンクして,リンク・マップ・ファイルsample.map,およびロード・モジュール・ファイルsample.absを生成します。

>rlink file1.obj file2.obj file3.obj -output=sample.abs -list

(c)

コンパイル,アセンブル,リンクともに単独で行う場合

Cソース・ファイルfile1.cをccrhでコンパイルして,アセンブリ・ソース・ファイルfile1.asmを生成します。

>ccrh -S file1.c -Xcommon=rh850

 

アセンブリ・ソース・ファイルfile1.asmとfile2.asmをasrhでアセンブルして,オブジェクト・ファイルfile1.obj,file2.objを生成します。

また,アセンブル・リスト・ファイルsample.prnも出力します。

>asrh -c file1.asm file2.asm -Xprn_path=sample.prn -Xcommon=rh850

 

オブジェクト・ファイルfile1.obj,file2.obj,file3.objをrlinkでリンクして,リンク・マップ・ファイルsample.map,およびロード・モジュール・ファイルsample.absを生成します。

>rlink file1.obj file2.obj file3.obj -output=sample.abs -list