1.2.2 AIX用標準サブルーチンの適用方法
(1) 提供形態
AIX用標準サブルーチンは,スレッド種別(シングルスレッド対応用とマルチスレッド対応用),文字コード形式(SJIS対応版とEUC対応版),およびライブラリ形式(アーカイブ形式と共用ライブラリ形式)の組み合わせによって,全8種類のライブラリが提供されます。AIX用標準サブルーチンのライブラリの種類一覧について,次の表に示します。
なお,SJIS対応版/EUC対応版の全8種類のライブラリに対し,それぞれの種類ごとに(和暦)規格の標準版とJIS規格版の2種類が提供されます。
これらを正しく使い分けないと,サブルーチンが正常に動作しない場合があるので,注意してください。
ライブラリの種類 |
種類詳細 |
---|---|
スレッド種別 |
シングルスレッド対応用/マルチスレッド対応用の2種類 |
文字コード形式 |
SJIS/EUCの2種類 |
ファイル形式 |
アーカイブ形式/共用ライブラリ形式の2種類 |
(和暦)規格 |
標準版とJIS規格版の2種類 |
なお,各ライブラリにあるJIS規格版では標準版に対して,実在日チェック(和暦)[LXRPID02],年月日変換(西暦→和暦)[LXRPID05]で,各年号の期間が異なります。年号の詳細な期間については,「標準サブルーチン仕様書」を参照してください。
AIX対応版の提供形態を次に示します。
格納場所 |
構成物 |
提供形態 |
---|---|---|
<32ビットモード版の場合> /opt/SEWB3 <64ビットモード版の場合> /opt/SEWB64 |
− |
− |
├─Ja_JP | └─COMMON | └─RTSP | └─Cbl_Source |
SJIS対応版のコピークローズ |
テキストファイル |
├─ja_JP | └─COMMON | └─RTSP | └─Cbl_Source |
EUC対応版のコピークローズ |
テキストファイル |
├─lib |
シングルスレッド対応ライブラリ |
「表1-10 libディレクトリの内容」を参照 |
└─mthread └─lib |
マルチスレッド対応ライブラリ |
ファイル名 |
文字コード形式 |
形式 |
ライブラリ形式 |
---|---|---|---|
libLx2000.a |
SJIS |
標準版 |
アーカイブ形式 |
libLx2000_sh.a |
共用ライブラリ形式 |
||
libLxJIS.a |
JIS規格版 |
アーカイブ形式 |
|
libLxJIS_sh.a |
共用ライブラリ形式 |
||
libLxeuc2000.a |
EUC |
標準版 |
アーカイブ形式 |
libLxeuc2000_sh.a |
共用ライブラリ形式 |
||
libLxeucJIS.a |
JIS規格版 |
アーカイブ形式 |
|
libLxeucJIS_sh.a |
共用ライブラリ形式 |
(a) コピークローズ
標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。
(b) シングルスレッド対応ライブラリ
シングルスレッド対応プログラムで標準サブルーチンを使用するときに使用します。
(c) マルチスレッド対応ライブラリ
マルチスレッド対応プログラムで標準サブルーチンを使用するときに使用します。
(2) 適用方法
AIX用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。AIX(64ビットモード)版の場合は,「/opt/SEWB3」を「/opt/SEWB64」に読み替えてください。
(a) 環境変数の設定
-
PATH,LIBPATH
環境変数PATHおよびLIBPATHに標準サブルーチンのライブラリの格納パスを追加する必要があります。sh(Bourneシェル)を例に,環境変数の設定例を次に示します。
- (例1)シングルスレッド対応版ライブラリを使用する場合
-
PATH=${PATH}:/opt/SEWB3/lib
LIBPATH=${LIBPATH}:/opt/SEWB3/lib
export PATH LIBPATH
- (例2)マルチスレッド対応版ライブラリを使用する場合
-
PATH=${PATH}:/opt/SEWB3/mthread/lib
LIBPATH=${LIBPATH}:/opt/SEWB3/mthread/lib
export PATH LIBPATH
-
CBLLIB
環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。
- (例)SJIS対応版を使用する場合
-
CBLLIB=${CBLLIB}:/opt/SEWB3/Ja_JP/COMMON/RTSP/Cbl_Source
export CBLLIB
-
LANG
環境変数LANGに使用するロケールを設定する必要があります。
- (例)SJIS対応版を使用する場合
-
LANG=Ja_JP
export LANG
(b) コンパイル・リンケージ
ccbl2002コマンドを使用して,コンパイルおよびリンケージを行います。
ユーザアプリケーションでのコンパイルオプションの使用の有無によって,リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと,リンクの対象となるライブラリファイルの対応を次の表に示します。
コンパイルオプションの設定方法,および各コンパイルオプションの機能については,マニュアル「COBOL2002 使用の手引 手引編」を参照してください。
オプション名 |
シングルスレッド |
マルチスレッド |
||||||
---|---|---|---|---|---|---|---|---|
アーカイブライブラリ |
共用ライブラリ |
アーカイブライブラリ |
共用ライブラリ |
|||||
-MultiThread |
× |
× |
× |
× |
○ |
○ |
○ |
○ |
-lpthreads |
× |
× |
× |
× |
○ |
○ |
○ |
○ |
- (凡例)
-
○:指定する
×:指定しない
コンパイルオプションの指定例を次に示します。
- (例1)シングルスレッド対応版,文字データがSJIS版のアーカイブ形式ライブラリを使用する場合
-
(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合
ccbl2002 -Main,System ABC.cbl -OutputFile ABC -L/opt/SEWB3/lib -lLx2000
(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合
ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000
- (例2)シングルスレッド対応版,文字データがSJIS版の共用ライブラリを使用する場合
-
(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合
ccbl2002 -Main,System ABC.cbl -OutputFile ABC -L/opt/SEWB3/lib -lLx2000_sh
(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合
ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000_sh
- (例3)マルチスレッド対応版,文字データがEUC版の共用ライブラリを使用する場合
-
(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合
ccbl2002 -MultiThread -Main,System ABC.cbl -OutputFile ABC -L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads
(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合
ccbl2002 -MultiThread -OutputFile ABC ABC.o -L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads