Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cc68(1) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

as68(1)

CC(1)  —  NEWS-OS Programmer’s Manual

名称

cc68 − C クロスコンパイラ

形式

cc68 [ option ] ...  file ... 

解説

cc68 は、 UNIX の 68K C クロスコンパイラです。 cc はいくつかのタイプの引数を受け付けます。

名前が‘.c’で終わっている引数は、 C 言語のソースプログラムと見なします。 これらのプログラムはコンパイルされ、 各オブジェクトプログラムは、 ソースの名前の‘.c’ の部分が‘.o’で置き換えられた名前のファイルに残されます。 しかし、 単一の C言語プログラムが 一気にすべてコンパイルされてロードされる場合には、 通常、‘.o’ファイルは削除されます。

同様に、名前が‘.s’で終わっている引数は、 アセンブリ言語ソースプログラムと見なされてアセンブルされ、 ‘.o’ファイルが作られます。

次のオプションが cc68 によって解釈されます。ロード時のオプションについては、 ld(1) を参照してください。

−c コンパイルのローディング段階を抑制し、 プログラムが1個だけコンパイルされる場合でも、 オブジェクトファイルの生成を強制します。

−g コンパイラに dbx(1) のための付加的なシンボルテーブル情報を作ります。 また、 −lg フラグを ld(1) に渡します。

−go NEWS では使われていません。 現在はあまり使われていないデバッガ sdb(1) のための付加的なシンボルテーブル情報をコンパイラに作らせます。 また、 −lg フラグを ld(1) に渡させます。

−W 警告メッセージを抑制します。

−p 各ルーチンの呼ばれる回数を カウントするコードを作るようにコンパイラを準備します。 ローディングが行われるときには、 開始時にスタートしたルーチンを monitor(3) を自動的に呼び出すルーチンで置き換え、 オブジェクトプログラムの実行が正常に終了したときに mon.out ファイルを書き出すように準備します。 これで prof(1) を使用して実行プロフィールを生成することができます。

−pg −p と同様にカウンティングのためのコードをコンパイラに作らせますが、 より幅の広い統計をキープし、正常終了時に gmon.out ファイルを作る実行時記録メカニズムを呼び出します。 また、 標準的な Cライブラリの代わりにプロフィーリングライブラリがサーチされます。 これで gprof(1) を使用して実行プロフィールを生成することができます。

−O オプティマイザを呼び出します。

−J switch 文で .long ジャンプテーブルを生成します。

−R as に渡されて、初期設定された変数を共有可および読取り専用にします。

−S 指定された Cプログラムをコンパイルし、 アセンブラの出力をサフィックス‘.s’の付けられたファイルへ残します。

−M Makefile 中の依存関係の記述を生成するように、 Cプログラムに対してマクロプロセッサだけを実行し、 結果を標準出力へ送るように要求します。

−E 指定された Cプログラムに対してマクロプロセッサだけを実行し、 結果を標準出力へ送ります。

−C マクロプロセッサがコメントを削除するのを防止します。

−o output
最終出力ファイル output の名前を指定します。 このオプションが使用されると、ファイル‘a.out’は何も影響を受けません。

−Dname=def

−Dname ‘#define’によって定義するように、 プリプロセッサに対して name を定義します。def が与えられない場合には、name は "1" として定義されます。

−Uname name の定義を除去します。

−Idir 名前が‘/’で始まっていない ‘#include’ファイルは、 常に、まず引数 file のディレクトリ内で、 次に オプションで指定されたディレクトリ内で、 そして最後に標準的なリストにあるディレクトリ内で探されます。

−Ldir ライブラリアーカイブは、まず −L オプションで指定されたディレクトリ内で、 次に標準的なリスト内で探されます。

−f 単精度浮動小数点変数だけを含んでいる式を倍精度に変換しない、 別のコンパイラを使用します。 これは、 すべての中間結果は倍精度に変換する必要があるとしている基準には 合致しませんが、 倍精度を必要としないプログラムのために 速度を改善するためのものです。 このオプションは、 register float 変数と register double 変数を正しく処理します。

−Bstring cpp、ccom、c2 に対して string で指定したディレクトリをコンパイラのパスとします。 string が空である場合には、標準的なバックアップバージョンのパスを使用します。

−t[p012]
コンパイラを見つけるパスを、 −B オプションによって指定された名前のディレクトリ内のみとします。 −B オプションがなければ、 string は‘/usr/c/’であると見なされます。

他の引数は、ローダオプションの引数、 または以前の cc68 の実行によって 通常どおりに作られた Cと互換性を持つオブジェクトプログラム、 または Cと互換性を持つルーチンのライブラリのいずれかと見なされます。 これらのプログラムは、 指定されたコンパイルの結果と共に (与えられた順番に)ロードされ、 名前が a.out の実行可能なプログラムが作られます。

関連ファイル

file.c入力ファイル
file.oオブジェクトファイル
a.outロードされた入力
/tmp/ctm?一時ファイル
/usr/lib/cross68/cpp プリプロセッサ
/usr/lib/cross68/ccom コンパイラ
/usr/lib/cross68/sccom 単精度浮動小数点変数用のコンパイラ
/usr/c/occomバックアップコンパイラ
/usr/c/ocppバックアッププリプロセッサ
/usr/lib/cross68/c2オプションの最適化プログラム
/usr/lib/cross68/crt0.o 実行時スタートオフ
/usr/lib/cross68/mcrt0.o プロフィーリングのためのスタートオフ
/usr/lib/cross68/gcrt0.o gprof のプロフィーリングのためのスタートオフ
/lib/libc68.a標準ライブラリ intro(3) 参照
/usr/lib/libc_p68.aプロフィーリングライブラリ intro(3) 参照
/usr/include‘#include’ ファイルの標準的ディレクトリ
/usr/sony/include‘#include’ ファイルの別の標準的ディレクトリ
mon.outprof(1) による解析のため作られたファイル
gmon.outgprof(1) による解析のため作られたファイル

関連事項

B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall, 1978
B. W. Kernighan, Programming in C—a tutorial
D. M. Ritchie, C Reference Manual
ld68(1)
, as68(1)

診断

C 自体によって出される診断は、 自明であるように作られています。 メッセージは、アセンブラまたはローダによって出力されることもあります。

バグ

コンパイラは、現在のところ、前述のものを除き、 char、unsigned char、 short、unsigned short、 float、 または double をレジスタ変数として指定しても無視します。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026