サーバをモニタリングしている場合、ある種のポートモニタ、例えば4listen(1M)のようなものは、サービスリクエストに応答して常に新しいプロセスを生成する。サーバがそのようなモニタとともに使われることが分かっている場合、サーバは処理の完了後すぐに終了すべきである。オプション付きで使うべきである。4-l1コンパイルしてクライアント側スタブを生成する。ルーチンは作成しない。ルーチンを記述する必要があるユーザーにとって役に立つ。2netid1コンパイルして2netid1で指定したトランスポート用のサーバ側スタブを生成する。データベースに2netid1用のエントリが存在する必要がある。複数のトランスポートに対してサービスを行うサーバを作成するために、このオプションを複数回指定することができる。手続きが複数の引き数を持てるようにする。言語にとてもよく似たパラメータ渡しの方法を用いる。これにより、遠隔手続きに引き数を渡す場合に、引き数へのポインタではなく引き数そのものを渡すことができる。生成したコードによるものとは異なる。以前のものとの互換性のため、新しいスタイルはデフォルトになっていない。2outfile1出力ファイル名を指定する。何も指定されない場合、標準出力に書き出す(4-c1,4-h1,4-l1,4-m1,4-n1,4-s1,4-Sc1,4-Ss1,4-t1モード時のみ)。2nettype1コンパイルして2nettype1クラスに属する全てのトランスポート用のサーバ側スタブを生成する。サポートされているクラスは以下の通りである。このオプションは複数回指定することができる。注意:トランスポートはコンパイル時ではなく実行時に選択される。生成されたクライアント側スタブを呼び出す前にサーバをバインドする方法を説明するサンプルコードを生成する。4-Ss1サーバ側遠隔手続きの骨組みとなるコードを生成する。遠隔手続きの実際のコードを記述する必要がある。ディスパッチテーブルを生成する。ディスパッチテーブルをサポートするコードを生成する。オプション4-D1と4-T1は、グローバルオプションで、他のオプションとともに使うことができる。言語は構造体の入れ子構造をサポートしない。対処法として同様の効果を得るために、構造体をトップレベルで宣言し、その構造体名を他の構造体の中で使うことができる。明確な名前スコープが実際に適応されていないため、プログラム定義の使用中に名前の衝突が起きる場合がある。この問題の大部分は、プログラム・バージョン・手続き・タイプに対して固有の名前を付けることで回避できる。非常にサイト依存したものになる。つのファイル:4prot.h1,4prot_clnt.c1,4prot_svc.c1,4prot_xdr.c1,4prot_tbl.i1を生成する。