スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

付録F.1 共用ライブラリの作成方法

UOCのコーディングが完了した後,共用ライブラリを作成します。作成した共用ライブラリは,呼び出す関数と一緒に,pdload又はpdrorgの制御文に指定します。

<この項の構成>
(1) HP-UX版の場合
(2) Solaris版の場合
(3) Linux版の場合
(4) AIX版の場合

(1) HP-UX版の場合

sample1.c,sample2.c,及びsample3.cの三つのソースファイルから,libuoc.slという名称の共用ライブラリを作成する例を,次に示します。

  1. +zオプションを指定してファイルをコンパイルします。
     
    $ /usr/bin/cc -c -I $PDDIR/include +z sample1.c sample2.c sample3.c
    sample1.c:
    sample2.c:
    sample3.c:
     
  2. 作成された拡張子.oのファイルをリンクします。
     
    $ /bin/ld -b -o libuoc.sl sample1.o sample2.o sample3.o
     
(a) 64ビットモードのHiRDBの場合

64ビットモードのHiRDBで実行するUOCは,64ビットモードでコンパイルする必要があります。この場合,コンパイルオプションとして+DD64を指定してください。また,HP-UX (IPF)版の場合,共用ライブラリの拡張子は.soにしてください。

(b) POSIXライブラリ版のHiRDBの場合

POSIXライブラリ版のHiRDBで実行するUOCは,マルチスレッドに対応させる必要があります。ただし,UOC内で複数のスレッドは使用できません。

POSIXライブラリ版のHiRDBの場合は,次の点にも注意してください。

(2) Solaris版の場合

sample1.c,sample2.c,及びsample3.cの三つのソースファイルから,libuoc.soという名称の共用ライブラリを作成する例を,次に示します。

  1. ファイルをコンパイルします。
     
    $ /usr/ucb/cc -c -I$PDDIR/include sample1.c sample2.c sample3.c
    sample1.c:
    sample2.c:
    sample3.c:
     
  2. 作成された拡張子.oのファイルをリンクします。
     
    $ /usr/css/bin/ld -G -o libuoc.so sample1.o sample2.o sample3.o
     
(a) 64ビットモードのHiRDBの場合

64ビットモードのHiRDBで実行するUOCは,64ビットモードでコンパイルする必要があります。この場合,コンパイルオプションとして-xarch=v9を指定してください。

(3) Linux版の場合

sample1.c,sample2.c,及びsample3.cの三つのソースファイルから,libuoc.soという名称の共用ライブラリを作成する例を,次に示します。

  1. ファイルをコンパイルします。
     
    $ /usr/bin/cc -c -I$PDDIR/include sample1.c sample2.c sample3.c
    sample1.c:
    sample2.c:
    sample3.c:
     
  2. 作成された拡張子.oのファイルをリンクします。
     
    $ /usr/bin/cc -shared -o libuoc.so sample1.o sample2.o sample3.o
     

(4) AIX版の場合

sample1.c,sample2.c,及びsample3.cの三つのソースファイルから,libuoc.soという名称の共用ライブラリを作成する例を,次に示します。

  1. ファイルをコンパイルします。
     
    $ /usr/vac/bin/xlc -c -I$PDDIR/include sample1.c sample2.c sample3.c
    sample1.c:
    sample2.c:
    sample3.c:
     
  2. 作成された拡張子.oのファイルをリンクします。
     
    $ /usr/vac/bin/xlc -G -o libuoc.so sample1.o sample2.o sample3.o
     
(a) 64ビットモードのHiRDBの場合

64ビットモードのHiRDBで実行するUOCは,64ビットモードでコンパイルする必要があります。この場合,コンパイルオプションとして-q64 を指定してください。

(b) POSIXライブラリ版のHiRDBの場合

POSIXライブラリ版のHiRDBで実行するUOCは,マルチスレッドに対応させる必要があります。ただし,UOC内で複数のスレッドは使用できません。

POSIXライブラリ版のHiRDBの場合は,次の点にも注意してください。