-

「UTILITIES PUBLIC DOCUMENT CC」の版間の差分

提供: HI-TECH C for CP/M Fan WIKI(JP)
移動先: 案内検索
22行目: 22行目:
 
;libdos2.lib
 
;libdos2.lib
 
:MSX-DOS2を使用するIOライブラリで、ソースはlibdos.lzhにあります。
 
:MSX-DOS2を使用するIOライブラリで、ソースはlibdos.lzhにあります。
,vsh1.o,vsh2.o ,vsh3.o
+
;vsh1.o,vsh2.o ,vsh3.o
 
:CRT.Oの変種で他のプログラムを実行するためのプログラムです。詳細はvsh.txtをご覧ください。
 
:CRT.Oの変種で他のプログラムを実行するためのプログラムです。詳細はvsh.txtをご覧ください。
 
  
 
;vsh.txt
 
;vsh.txt
49行目: 48行目:
 
;-CR[file]      : クロスリファレンスファイルを生成する
 
;-CR[file]      : クロスリファレンスファイルを生成する
 
;-O            : OPTIMを使って、CGENに生成されたアセンブリコードを最適化する
 
;-O            : OPTIMを使って、CGENに生成されたアセンブリコードを最適化する
,-O<file>      : <file>にアウトプットを出力
+
;-O<file>      : <file>にアウトプットを出力
 
;-I<dir>        : インクルードファイルの追加検索パスとしてしてCPPに渡されます。ドライブに対してのみ働き??cc.comが格納されているディレクトリは常にAPPEND環境変数を介して検索されます。
 
;-I<dir>        : インクルードファイルの追加検索パスとしてしてCPPに渡されます。ドライブに対してのみ働き??cc.comが格納されているディレクトリは常にAPPEND環境変数を介して検索されます。
 
;-V       : 冗長モードです。サブプロセスのコマンドを表示します。
 
;-V       : 冗長モードです。サブプロセスのコマンドを表示します。

2017年8月24日 (木) 14:08時点における版

CC - HiTech-C及びmsx-dos2用改良型コントロールプログラム

About

cc.comはHI-TECH CでCプログラムをコンパイルする際のパスを自動実行します。HI-TECH社製のc.comは同じ動作をしますが、cc.comは次のようなアドバンテージがあります。

  • cc.comはバッチファイルを使わず、またパスでエラーがあった場合に停止します。
  • cc.comは追加を変数を設定しますので、ソースファイルをコンパイラのあるディレクトリ以外にも置けます。

インストール方法

初めにMSX-DOS2をインストールする必要があります。それからHI-TECH Z80 CP/M C Compilerをftp://ftp.funet.fi/pub/msx/programming/c/hitech-?.pmaからダウンロードして、pmextで解凍してください。

HI-TECH社は親切にも、このCコンパイラを無料で使用する許可をしてくれています。詳しくは http://www.htsoft.com/products/CPM.php を見てください引用エラー: 無効な <ref> タグです。 名前 (name 属性) がない場合は引用句の内容が必要です

cc.lzhをCコンパイラがあるディレクトリに解凍します。

以下のファイルが得られます。

cc.com
c.comの代替物
libdos2.lib
MSX-DOS2を使用するIOライブラリで、ソースはlibdos.lzhにあります。
vsh1.o,vsh2.o ,vsh3.o
CRT.Oの変種で他のプログラムを実行するためのプログラムです。詳細はvsh.txtをご覧ください。
vsh.txt
vsh?.oに関するテキストです。
redir.obj
link.comの-Uバグに対して使うものです。
cc.txt
このテキストです。
cc.c
cc.comのソースです。
vshrt.as
vsh?.oのソースです。
redir.as
redir.objのソースです。
makefile
pack.bat

ccを使う

CCを以下のようにして起動できます。

cc <options> <files>

次のオプションが認識されます。

-C  
オブジェクトファイルをキープし、リンクしない
-CR[file]  
クロスリファレンスファイルを生成する
-O  
OPTIMを使って、CGENに生成されたアセンブリコードを最適化する
-O<file>  
<file>にアウトプットを出力
-I<dir>  
インクルードファイルの追加検索パスとしてしてCPPに渡されます。ドライブに対してのみ働き??cc.comが格納されているディレクトリは常にAPPEND環境変数を介して検索されます。
-V  
冗長モードです。サブプロセスのコマンドを表示します。
-F<file>  
シンボルファイルに書き込みます
-U<sym>  
CPPのシンボル定義を取り消します
-D<sym>[=<def>]
CPPのシンボルを定義します
-S  
アセンブリファイルをキープします。アセンブリもリンクもしません。
-X  
ローカルシンボルを抜き出し、LINKに渡します。
-P<pspec>  
psectの順を定義します(通常は必要ありません)
-M<file>  
マップファイルを書き出します
-W<n>  
マップファイルの幅です
-l<xx>  
LINKにlib<xx>.libを渡します。順番が重要です。

全てのオプションは大文字、小文字を区別しません。

ファイル

拡張子のないファイルは、".c"の拡張子を取ります。".c"の拡張子がついたファイルはC言語のソースファイルとして扱われます。".as"の拡張子がついたファイルはアセンブラのソースファイルとして扱われます。 他のファイルはリンカに直接渡されます。

環境変数

CCでは使われず、また検証もされないビデオメモリの最初のページをVSHTOPで指定します。

VSHTOP
ページ0-7は普通のビデオメモリ、8-11は拡張ビデオメモリです。有効な数値は2-12で、デフォルト値は12です。

他の数値は静的に無視されます。:VSHTOPが2の場合、CCは動きません。より高位アドレスで、データを保存することができます。あるエミュレータではvshtop=8が必要かもしれません。

注記

CC.COMは一時的な保存にビデオメモリを使用します?そのため、同じくビデオメモリを使うRAMDISKは内容が壊れてしまう可能性があります。 スクリーンはコンパイルのステップの間にフラッシュします。これはビデオメモリとの読み書きの信頼性を高めるためで、悩む必要はありません。 HI-TECH Cは大きなC言語のファイルを扱えません。これは本当のところ問題ではありません。プログラムを6-7kのC言語のファイルに分けるだけです。 Arnold metselaar によるMAKEプログラムはCC.comと一緒に使え、 リコンパイルする必要があるモジュールだけをコンパイルするのに使えます。

以下も参照してください

  • HI-TECH C同梱のドキュメント
  • 一般的なC言語に関するドキュメント
  • vsh.txt

作者

CC.CはHI-TECH社とPierre Gielenの成果物をベースにしています。Arnold Metselaarはサブプログラムを実行し、メインプログラムを続行する部分のコードを追加しました。