Server Express 技術情報(FAQ)


共有ライブラリの作成にcobコマンドは使用できますか

共有ライブラリの生成方法には以下の2通りがあります。


1) -Z オプションによる生成


cobコマンドの−Zオプションにより生成が可能です。以下に共有ライブラリを生成して動的リンクを行う例を示します。

$ cat cobmain.cbl
        procedure division.
            display "main started.".
            call "sub1".
            display "back to main.".
        stop run.
$ cat sub1.cbl
        procedure division.
            display "sub1 is called.".
            exit program.
$ cob -Zo libsub1.sl sub1.cbl
$ cob -x cobmain.cbl -L. -lsub1
$ ./cobmain
main started.
sub1 is called.
back to main.
$


この例では、COBOLサブルーチン sub1.cbl は共有ライブラリ libsub1.sl にリンクされており、メインプログラム cobmain.cbl はこの共有ライブラリを動的リンクしています。


2) -z (Callable Shared Object)オプション によりGNT形式からの呼び出しが可能となるもの


cobコマンドの-z オプションにより生成されるライブラリはGNT形式から動的にロード可能な共有ライブラリを生成します。

$ cob -z sub.cbl
$ ls
cobmain.cbl sub.cbl sub.idy sub.int sub.o sub.so
$ cob -u cobmain.cbl
$ cobrun cobmain.gnt
main started
sub1 is called
back to main
$