簡単なデフォルトのリンク

cob コマンドに -x フラグを指定して、システムの実行可能アプリケーション ファイルを作成することができます。このとき、フラグとともに、システムの実行可能ファイルに組み込むアプリケーション ファイルを列挙します。アプリケーション ファイルには、COBOL、C、または C++ のソース ファイルや .int ファイル、または .o タイプのオブジェクト ファイルを含めることができます。システムの実行可能ファイルの名前は、最初に指定されたアプリケーション ファイルのベース名になります。ただし、-o フラグを使って別な名前を指定すると、指定した名前にすることができます。

たとえば、次のコマンドを入力すると、プログラム myprog.cbl はネイティブ オブジェクト コードにコンパイルされます。このオプジェクト コードがランタイム サポート ルーチンにリンクされ、システムの実行可能プログラム myprog が作成されます。コマンド ラインで、システムの実行可能プログラムの名前を入力すると、このプログラムを実行できます。

cob -x myprog.cbl

PATH 環境変数に、現在のディレクトリを設定していない場合は、次のコマンドを入力すると、このプログラムを実行できます。

./myprog

作成したアプリケーションに複数のプログラムが組み込まれている場合は、すべてのプログラムを互いにリンクさせることができます。たとえば、次のコマンドを入力すると、myprog.cbl および mysub.int はネイティブ オブジェクト コードに変換され、C ソース ファイル csub.c はオブジェクト ファイルにコンパイルされます。生成されたこれらのオブジェクト コードとオブジェクト ファイルが COBOL ランタイム サポート ルーチンにリンクされ、システムの実行可能ファイル myapp が作成されます。-v フラグを指定すると、cob の進捗状況に関するメッセージが表示されます。

cob -xv myprog.cbl mysub.int csub.c -o myapp

作成したアプリケーションに C++ で記述されたコードが含まれる場合は、cob に -x,CC フラグを指定する必要があります。これにより、(システム リンカーではなく) C++ コンパイラが起動され、最終的なシステムの実行可能プログラムを作成できます。たとえば、次のコマンドを入力すると、COBOL プログラムの myprog.cblmysub.int、C ソース ファイル csub.c、および C++ ソース ファイル cppsub.c を使用したシステムの実行可能プログラム myapp が作成されます。

cob -x,CC myprog.cbl mysub.int csub.c cppsub.C -o myapp

システムの実行可能アプリケーション ファイルの最初のエントリ ポイントは、デフォルトでは、コマンド ラインで最初に指定されたプログラムのベース名になります。前述の例では、myprog になります。アプリケーションの最初のエントリ ポイントを変更する場合は、cob の -e フラグを使用します。たとえば、次のコマンドを入力すると、myentry が最初のエントリ ポイントとして指定されます。

cob -xo myapp myprog.cbl subprog.o -e myentry