各NetCOBOL製品に含まれるCOBOLコマンドをコマンド形式で実行する場合、そのコマンドラインに指定可能なオプションとオペランドの指定形式について、まずそのサポート状況を一覧で示した上で、その違いについて説明します。
No | 名前 | 機能概要 | OS毎のサポート状況 | |||
---|---|---|---|---|---|---|
Windows 32bit版 NetCOBOL | Solaris 32bit版 NetCOBOL | Linux 32bit版 NetCOBOL | Linux | |||
翻訳時のふるまいに関するオプション | ||||||
1 | -A | サブスキーマ定義ファイルのフォルダの指定 | ○ | × | × | × |
2 | -c | 翻訳だけを行う指定 | × | ○ | ○ | ○ |
3 | -Dc | COUNT機能を使用する指定 | ○ | ○ | ○ | ○ |
4 | -Dk | CHECK機能を使用する指定 | ○ | ○ | ○ | ○ |
5 | -Dr | TRACE機能を使用する指定 | ○ | ○ | ○ | ○ |
6 | -dr | リポジトリファイルの入出力先ディレクトリの指定 | ○ | ○ | ○ | ○ |
7 | -ds | ソース解析情報ファイルの出力ディレクトリの指定 | ○ | ○ | ○ | ○ |
8 | -Dt | 対話型デバッガを使用する指定 | ○ | ○ | ○ | × |
9 | -dd | デバッグ情報ファイルのディレクトリの指定 | ○ | ○ | ○ | × |
10 | -do | オブジェクトファイルのディレクトリの指定 | ○ | ○ | ○ | ○ |
11 | -dp | 翻訳リストファイルのディレクトリの指定 | ○ | ○ | ○ | ○ |
12 | -f | ファイル定義体ファイルのディレクトリの指定 | × | ○ | × | × |
13 | -I | 登録集ファイルのディレクトリの指定 | ○ | ○ | ○ | ○ |
14 | -i | オプションファイルの指定 | ○ | ○ | ○ | ○ |
15 | -M | 主プログラムを翻訳するときの指定 | ○ | ○ | ○ | ○ |
16 | -m | 画面帳票定義体ファイルのディレクトリの指定 | ○ | ○ | ○ | ○ |
17 | -O | 広域最適化の指定 | ○ | △ | △ | △ |
18 | -P | 翻訳リストのファイル名の指定 | ○ | △ | △ | △ |
19 | -R | リポジトリファイルの入力先ディレクトリの指定 | ○ | ○ | ○ | ○ |
20 | -WC | 翻訳オプションの指定 | ○ | ○ | ○ | ○ |
リンク時のふるまいに関するオプション | ||||||
21 | -dy | 結合モードの指定 | × | ○ | ○ | ○ |
22 | -G -share | 共用オブジェクトプログラムを生成する指定 | × | △ | △ | △ |
23 | -L | ライブラリサーチパス名を追加する指定 | × | ○ | ○ | ○ |
24 | -l | リンクする副プログラムまたはライブラリの指定 | × | ○ | ○ | ○ |
25 | -Ns | C言語で記述したプログラムから呼び出されるプログラムの指定 | × | ○ | × | × |
26 | -o | 実行可能ファイル/共用ライブラリの出力ファイル名 | × | ○ | ○ | ○ |
27 | -pc | スクリーン操作機能を使うプログラムをリンクする指定 | × | ○ | × | × |
28 | -pi | C-ISAMを使うプログラムをリンクする指定 | × | ○ | × | × |
29 | -pm | 画面定義体を使うプログラムをリンクする指定 | × | ○ | × | × |
30 | -Wl | リンクオプションの指定 | × | ○ | ○ | ○ |
翻訳とリンクの両方に関係するオプション | ||||||
31 | -Tm | マルチスレッドモデルのプログラムをリンクする指定 | × | ○ | ○ | ○ |
各プラットフォーム向けNetCOBOL製品に含まれるCOBOLコマンド間で仕様が異なるコマンドラインオプション(“表A.13 各OS上のNetCOBOL製品の翻訳コマンドのコマンドラインオプション”中ではオレンジ色の網かけで表示)は主に次の3つの種類に分類できます。
翻訳に関するオプション
リンクに関するオプション
翻訳とリンクの両方に関係するオプション
それぞれについて、以降で詳細を説明します。
翻訳に関するオプションの違い
-A(サブスキーマ定義ファイルのフォルダの指定)
Windows 32bit版 NetCOBOLは、OSIV系システムのCOBOL85向けのプログラムの分散開発をサポートしています。この際に使用するオプション(AIMLIBと等価)です。
-f(ファイル定義体のフォルダの指定)
Windows 32bit版 NetCOBOL、Linux 32bit版 NetCOBOL、Linux(Itanium) 64bit版 NetCOBOLでは、ファイル定義体をサポートしていないため、このコマンドラインオプションは用意されていません。
-O(広域最適化の指定)
翻訳オプションOPTIMIZEの指定に相当します。Windows 32bit版 NetCOBOLのみ、NOOPTIMIZEがデフォルトであるため、このコマンドラインオプションが用意されています。
-P(翻訳リストファイル名の指定)
基本的な使い方(“-P ファイル名”)は同じですが、翻訳リストファイルを“ソースファイル名.lst”の形式で出力したい場合の指定形式が異なります。
製品 | 指定形式 | 補足 |
---|---|---|
Windows 32bit版 NetCOBOL | -P | ファイル名省略。ただし、ソースファイル名の直前に指定できない。 |
Solaris 32bit版 NetCOBOL、 | -P- | ファイル名の代わりにハイフンを指定。 |
リンクに関するオプション
UNIX系システムのNetCOBOL製品の翻訳コマンドは、内部的にldコマンドを呼び出すことが可能なため、リンクに関する設定を指定することができます。
-pc(スクリーン操作機能を使うプログラムをリンクする指定)
-pi(C-ISAMを使うプログラムをリンクする指定)
-pm(画面定義体を使うプログラムをリンクする指定)
-Ns(C言語で記述したプログラムから呼び出されるプログラムの指定)
それぞれの機能を使用する際に必要となる共用ライブラリをリンクするために必要となります。Windows版 NetCOBOLではライブラリの構成の違いから、これらの機能の使用時に必要となるライブラリは常にリンクされるようになっています。
-dy(結合モードの指定)
-G/-share(共用オブジェクトプログラムを生成する指定)
-L(ライブラリサーチパス名を追加する指定)
-l(リンクする副プログラムまたはライブラリの指定)
-o(実行可能ファイル/共用ライブラリの出力ファイル名)
-Wl(リンクオプションの指定)
これらは基本的にldコマンドに直接渡されます。Windows版NetCOBOL製品ではCOBOLプロジェクトマネージャから設定します。
翻訳とリンクの両方に関係するオプション
-Tm(マルチスレッドモードの翻訳・リンクの指定)
COBOLソースの翻訳およびリンク時の次の効果をもたらします。
翻訳時: THREAD(MULTI)オプションの指定に相当します。
リンク時:マルチスレッド動作に必要なライブラリをリンクします。
Windows 32bit版 NetCOBOLでは、翻訳オプションTHREAD(MULTI)指定時、COBOLプロジェクトマネージャが同等の操作を自動で行います。