8.2.2 列データ編集UOCの作成手順(UNIX)
(1) 作成方法
列データ編集UOCインタフェース共有ライブラリの作成方法を次に示します。
- 列データ編集UOCインタフェースを使う反映列を決定します。
- 列データ編集UOCインタフェースの関数を作成します。
- 列データ編集UOCインタフェースの関数をコンパイル/リンケージします。
(2) コンパイル及びリンケージ
コンパイル及びリンケージについてOSごとに説明します。
なお,リンケージの未解決エラーが発生する場合は,リンケージのときに必要なライブラリすべてを指定してください。
(a) HP-UX版の場合
- UOCのコンパイル方法
cc -c +z -I/opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- IPF版の環境でのUOCのコンパイル方法
cc -c +DD64 +z -Y -I/opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- -c:
- オブジェクト作成オプション
- +z:
- 位置独立コード作成オプション
- -I:
- Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
- UOCのリンケージ方法
ld -b -o libhdscuoc.sl UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
- IPF版の環境でのUOCのリンケージ方法
ld -b -o libhdscuoc.so UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
(b) Solaris版の場合
- UOCのコンパイル方法
/opt/SUNWspro/bin/cc -c -KPIC -I/opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- -c:
- オブジェクト作成オプション
- -KPIC:
- 位置独立コード作成オプション
- -I:
- Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
- UOCのリンケージ方法
/opt/SUNWspro/bin/cc -G -o libhdscuoc.so UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
(c) AIX版の場合
- UOCのコンパイル方法
xlc -c -I /opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- -c:
- オブジェクト作成オプション
- -I:
- Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
- UOCのリンケージ方法
xlc -bM:SRE -bnoentry -bE:/opt/hirdbds/lib/libhdscuoc.exp -o libhdscuoc.a UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
(d) Linux版の場合
- 32ビット版,及びIPF版の環境でのUOCのコンパイル方法
gcc -c -fPIC -I/opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- EM64T版の環境でのUOCのコンパイル方法
gcc -c -m32 -fPIC -I/opt/hirdbds/include UOCソースファイル名〔UOCソースファイル名〕… |
- -c:
- オブジェクト作成オプション
- -fPIC:
- 位置独立コード作成オプション
- -I:
- Datareplicatorが提供するヘッダファイル格納ディレクトリを指定(/opt/hirdbds/include固定)。UOC自身がほかのヘッダファイルを必要とする場合は,複数指定できます。
- 32ビット版の環境でのUOCのリンケージ方法
ld -G -o libhdscuoc.so UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
- IPF版の環境でのUOCのリンケージ方法
gcc -shared -o libhdscuoc.so UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
- EM64T版の環境でのUOCのリンケージ方法
gcc -m32 -shared -o libhdscuoc.so UOCオブジェクトファイル名〔UOCオブジェクトファイル名〕… |
(3) 注意事項
作成した列データ編集UOCのライブラリは,任意のディレクトリに格納できます。
格納先のディレクトリはSHLIB_PATH環境変数で指定してください。
ただし,/opt/hirdbds/lib下にあるlibhdscuoc.sl(Solaris版,Linux版,又はHP-UX(IPF)版の場合はlibhdscuoc.so,AIX版の場合はlibhdscuoc.a)とは入れ替えないでください。