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

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

cob -x myprog.cbl

このように入力すると、プログラム myprog.cbl はネイティブオブジェクトコードにコンパイルされます。このオプジェクトコードが、ランタイムサポートルーチンにリンクされ、システムの実行可能プログラム myprog が作成されます。コマンド行で、システムの実行可能プログラムの名前を入力すると、このプログラムを実行できます。PATH 環境変数に、カレントディレクトリを設定していない場合は、コマンド行で次のように入力すると、このプログラムを実行できます。

./myprog

作成したアプリケーションに複数のプログラムが組み込まれている場合は、すべてのプログラムを互いにリンクさせることができます。次に例を示します。

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

コマンド行にこのように入力すると、myprog.cbl、および mysub.int は、ネイティブオブジェクトコードに変換され、C ソースファイル csub.c は、オブジェクトファイルにコンパイルされます。生成されたこれらのオブジェクトコード、およびオブジェクトファイルが、COBOL ランタイムサポートルーチンにリンクされ、システムの実行可能ファイル myapp が作成されます。-v フラグを指定すると、cob の進捗状況に関するメッセージが表示されます。

作成したアプリケーションに、C++ で記述されたコードが含まれる場合は、cob に -x,CC フラグを指定する必要があります。これにより、(システムリンカではなく) C++ コンパイラが起動され、最終的なシステムの実行可能プログラムが作成できます。次に例を示します。

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

コマンド行にこのように入力すると、COBOL プログラム、 myprog.cbl、および mysub.int と、C ソースファイル、 csub.c 、C++ ソースファイル、 cppsub.c を使用したシステムの実行可能プログラム、 myapp が作成されます。

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

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

このように入力すると、myentry が最初の入口点として指定されます。

アプリケーションに、共有ライブラリまたはアーカイブ (.a) ライブラリのルーチンを組み込む場合は、次の項をお読みください。