-
「Operating Details」の版間の差分
(ページの作成:「==Operating Details== HI-TECH Cは簡単に使えるようにデザインされています。単体のコマンドでプログラムをコンパイル、アセンブル...」) |
(→Operating Details) |
||
36行目: | 36行目: | ||
;-V | ;-V | ||
:冗長化します。コンパイルのどのステップも、実行しているままにechoします。 | :冗長化します。コンパイルのどのステップも、実行しているままにechoします。 | ||
+ | |||
+ | |||
+ | ;-I | ||
+ | :#include用に検索対象のファイルを追加するプレフィックス指定をします。CP/Mではデフォルトのプレフィックスは0:A:(ユーザー番号0、ディスクドライブA)です。MS-DOSのデフォルトプレフィクスはA:\HITECH\です。UnixやXenixではデフォルトプレフィックスは/usr/hitech/include/です。MS-DOSではディレクトリ名の最後にバックスラッシュをつけて-Iの引数として与える必要があります。-I\FREDではなく-I\FRED\のようにします。Unixでは最後に/を付ける必要があります。 | ||
+ | |||
+ | |||
+ | ;-D | ||
+ | :シンボルをプリプロセッサに定義します。例えば-DCPMはシンボルCPMは#define CPM 1を介して定義します?? | ||
+ | |||
+ | ;-U | ||
+ | :事前定義されているシンボルの定義を解除します。-Dの補足です。 | ||
+ | |||
+ | ;-F | ||
+ | :リンカにデバッガと使用するためのシンボルファイルを生成するように要求します。 | ||
+ | |||
+ | ;-R | ||
+ | :Z80 CP/Mコンパイラ用にだけ、このオプションはリンク時に??コマンドラインI/Oリダイレクションとファイル名のワイルドカード拡張をします??リダイレクションの書式に関しては付録5の_getargs()を参照してください。 | ||
+ | |||
+ | ;-X | ||
+ | :コンパイル、アセンブル、リンクされたファイルからローカルシンボルファイルを切り出します。グローバルシンボルのみが残ります。 | ||
+ | |||
+ | ;-M | ||
+ | :リンクマップを生成するようリンカに要求します。 | ||
[以下翻訳中] | [以下翻訳中] |
2017年11月22日 (水) 20:30時点における版
Operating Details
HI-TECH Cは簡単に使えるようにデザインされています。単体のコマンドでプログラムをコンパイル、アセンブル、リンクできます。Cコマンドの書式は以下の通りです。
C [ options ] files [ libraries ]
optionsはゼロもしくはそれ以上のオプションで、どれもダッシュ('-')と一文字のキーレターと、(必要に応じて)キーレターからスペースなしで続く引数で構成されます。filesはは一つ、もしくはそれ以上のC言語のソースファイル、アセンブラのソースファイル、もしくはオブジェクトファイルです。librariesはゼロ、もしくはそれ以上のライブラリ名、もしくはlibname.libに展開される、-lnameで省略された名前です。
Cコマンドは特定のオプションで定義されたように、与えられたCファイルをコンパイルし、それらをアセンブルして、要求されることなくオブジェクトコードにします。そうでなければ指定されたアセンブラソースファイルをアセンブルし、アセンブルの結果を他のオブジェクトや指定されたライブラリとリンクします??。
Cコマンドが引数無しで起動されると、入力のためにコマンドラインにプロンプトを表示します。このコマンドラインはバックスラッシュ('\')を行末でタイプすることで拡張できます。コマンドの標準入力がファイルから(例えばC < afileのように)なされた場合、コマンドラインはそのファイルから読み込みます。ファイルの中では一行以上が与えられるかもしれませんが、どの行も最後の行にはバックスラッシュが付きます。このメカニズムはMS-DOSバッチファイルでは働かないことに注意してください。つまり、Cコマンド用のコマンドファイルは別のファイルでなければいけません。MS-DOSは長いコマンドラインやバッチファイルの中から標準入力するメカニズムを持っています。
Cコマンドで認識されるオプションは以下の通りです。
- -S
- アセンブラ出力としてC言語ファイルのコンパイル結果を残します。Cソースコードはアセンブラコードの間に点在するコメントになります。
- -C
- 全てのコンパイルとアセンブルの結果をオブジェクトファイルのままにします。リンカは起動させないでください。これによりリンカを個別に、もしくはもしくはもっと後のステージでCコマンドを介して起動させることができます。
- -CR
- クロスリファレンスリストを生成します。-CRは生の参照情報をテンポラリファイルに残し、ユーザーにCREFを明確に実行させます。生の情報を特定のファイル入れるため、例えば-CRFRED.CRFのようにファイル名を与えると、この場合ではFRED.CRF.がCREFに処理されます??
- -CPM
- これはZ80クロスコンパイラ用のみで、CP/M-80のCOMファイルを生成します。-CPMオプションが無ければ、Z80クロスコンパイラはROMランタイムスタートオフモジュールを使用し、hexもしくはバイナリイメージを生成します。-CPMオプションが与えられると、CP/M-80ランタイムスタートオフコードがリンクされ、CP/M-80のCOMファイルが生成されます。
- -O
- オプティマイザをすべてのコンパイルコードに対して起動します。これはアセンブラに対してjump最適化も要求します。
- -OOUTFILE
- 実行ファイルが作成されるように名前を指定します。デフォルトの実行ファイル名は、コンパイラに指定された最初のソース、もしくはオブジェクトファイルから派生します。このオプションはデフォルトを上書きできます。もしドット('.')が、与えられたファイル名にない場合、拡張子は特定のオペレーティングシステムに応じて付加されます。例えば-OFREDは、MS-DOSではFRED.EXE、CP/M-86ではFRED.CMDとなります。
- クロスコンパイラでは、特定の出力フォーマットを指定する方法を提供する方法となります。つまり、出力ファイルPROG.BINはバイナリファイルを、一方で、PROG.HEXは16進数のファイルを生成させることになります。
- -V
- 冗長化します。コンパイルのどのステップも、実行しているままにechoします。
- -I
- include用に検索対象のファイルを追加するプレフィックス指定をします。CP/Mではデフォルトのプレフィックスは0:A:(ユーザー番号0、ディスクドライブA)です。MS-DOSのデフォルトプレフィクスはA:\HITECH\です。UnixやXenixではデフォルトプレフィックスは/usr/hitech/include/です。MS-DOSではディレクトリ名の最後にバックスラッシュをつけて-Iの引数として与える必要があります。-I\FREDではなく-I\FRED\のようにします。Unixでは最後に/を付ける必要があります。
- -D
- シンボルをプリプロセッサに定義します。例えば-DCPMはシンボルCPMは#define CPM 1を介して定義します??
- -U
- 事前定義されているシンボルの定義を解除します。-Dの補足です。
- -F
- リンカにデバッガと使用するためのシンボルファイルを生成するように要求します。
- -R
- Z80 CP/Mコンパイラ用にだけ、このオプションはリンク時に??コマンドラインI/Oリダイレクションとファイル名のワイルドカード拡張をします??リダイレクションの書式に関しては付録5の_getargs()を参照してください。
- -X
- コンパイル、アセンブル、リンクされたファイルからローカルシンボルファイルを切り出します。グローバルシンボルのみが残ります。
- -M
- リンクマップを生成するようリンカに要求します。
[以下翻訳中]