1.2.1 Windows用標準サブルーチンの適用方法
(1) 提供形態
Windows用標準サブルーチンは,シングルスレッド対応版ライブラリを提供しており,文字コード形式のSJIS対応版とEUC対応版ではそれぞれにビッグエンディアン形式用(WS版)とリトルエンディアン形式用(PC版),ライブラリファイル形式とDLL形式の4種類(文字コード形式SJIS/EUCと合わせ全8種類)が提供されます。また,文字コード形式のUnicode対応版では文字データとバイナリデータのエンディアンの組み合わせで,ライブラリファイル形式とDLL形式についてそれぞれ4種類(全8種類)のライブラリが提供されます。Windows用標準サブルーチンのライブラリの種類一覧について,次の表に示します。
なお,SJIS対応版/EUC対応版/Unicode対応版の全16種類のライブラリに対し,それぞれの種類ごとに(和暦)規格の標準版とJIS規格版の2種類が提供されます。
これらを正しく使い分けないと,サブルーチンが正常に動作しない場合があるので,ご注意ください。
ライブラリの種類 |
種類詳細 |
---|---|
文字コード形式 |
SJIS/EUC/UNI_BIG/UNI_LITTLE※の4種類 |
バイナリデータのエンディアン形式 |
BIG/LITTLEの2種類 |
ファイル形式 |
ライブラリファイル形式/DLL形式の2種類 |
(和暦)規格 |
標準版とJIS規格版の2種類 |
- 注※
-
UNI_BIG/UNI_LITTLEはUnicode対応版ライブラリのUTF-16文字データのエンディアン(UNI_BIG=UTF-16BE/UNI_LITTLE=UTF-16LE)を示します。
なお,各ライブラリにあるJIS規格版では標準版に対して,実在日チェック(和暦)[LXRPID02],年月日変換(西暦→和暦)[LXRPID05]で各年号の期間が異なります。年号の詳細な期間については,「標準サブルーチン仕様書」を参照してください。
それぞれの提供形態を次に示します。なお,各ライブラリは次の場所を基点に格納されています。
(インストールパスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥とする)
-
SJIS対応版 :C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥
-
EUC対応版 :C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥EUC
-
Unicode対応版:C:¥Program Files¥Hitachi¥SEWB+STD_SUB¥UNICODE
表1‒3 SJIS対応版の提供形態 格納場所
構成物
提供形態
├─COPY
コピークローズ
テキストファイル
├─BIG
| ├─BIN
| ├─LIB
ビッグエンディアン形式のライブラリ
ライブラリファイル
または
DLL
| ├─JISBIN
| └─JISLIB
上記のJIS規格版
└─LITTLE
├─BIN
├─LIB
リトルエンディアン形式のライブラリ
├─JISBIN
└─JISLIB
上記のJIS規格版
表1‒4 EUC対応版の提供形態 格納場所
構成物
提供形態
EUC
├─COPY
コピークローズ(EUCエンコード)
テキストファイル
| └─CopySjis
コピークローズ(SJISエンコード)※
├─BIG
| ├─BIN
| ├─LIB
ビッグエンディアン形式のライブラリ
ライブラリファイル
または
DLL
| ├─JISBIN
| └─JISLIB
上記のJIS規格版
└─LITTLE
├─BIN
├─LIB
リトルエンディアン形式のライブラリ
├─JISBIN
└─JISLIB
上記のJIS規格版
- 注※
-
COBOLエディタでの参照用で,コンパイルには利用しません。
表1‒5 Unicode対応版の提供形態 格納場所
構成物
提供形態
UNICODE
├─COPY
コピークローズ
テキストファイル
├─UNI_BIG
| ├─BIG
| | ├─BIN
| | ├─LIB
文字データ,バイナリデータが共にビッグエンディアン形式のライブラリ
ライブラリファイル
または
DLL
| | ├─JISBIN
| | └─JISLIB
上記のJIS規格版
| └─LITTLE
| ├─BIN
| ├─LIB
文字データがビッグエンディアン,バイナリデータがリトルエンディアン形式のライブラリ
| ├─JISBIN
| └─JISLIB
上記のJIS規格版
└─UNI_LITTLE
├─BIG
| ├─BIN
| ├─LIB
文字データがリトルエンディアン,バイナリデータがビッグエンディアン形式のライブラリ
| ├─JISBIN
| └─JISLIB
上記のJIS規格版
└─LITTLE
├─BIN
├─LIB
文字データ,バイナリデータが共にリトルエンディアン形式のライブラリ
├─JISBIN
└─JISLIB
上記のJIS規格版
(a) コピークローズ
標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。
(b) ビッグエンディアン形式のライブラリ
標準サブルーチンを使用して作成したプログラムを,ビッグエンディアン環境で実行するときに使用します。
(c) リトルエンディアン形式のライブラリ
標準サブルーチンを使用して作成したプログラムを,リトルエンディアン環境で実行するときに使用します。
(d) 文字データ,バイナリデータ(Unicode対応版だけ)
ここでの文字データとは日本語文字列定数,バイナリデータとは2進および浮動小数点のデータ項目を示します。文字データおよびバイナリデータの形式は,コンパイルオプションの使用によって変わります。詳細については,「1.2.1(2)(c) コンパイル・リンケージ」を参照してください。
(2) 適用方法
Windows用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。
(a) 前提条件
Windows用標準サブルーチンでUnicode対応版を利用する場合,次に示すソフトウェアのどちらか1つが必要となります。
-
日立コード変換 - Server Runtime
-
日立コード変換 - Client Runtime
(b) 環境変数の設定
-
PATH,LIB
環境変数PATHに標準サブルーチンのDLL格納パス,環境変数LIBに標準サブルーチンのスタティックライブラリ,およびインポートライブラリの格納パスを追加する必要があります。格納パスについては,インストール時にユーザが任意に決定できるので,インストールした場所を指定してください。追加する環境変数の例を次に示します。
- (例1)SJIS対応版ビッグエンディアン形式のライブラリを使用する場合
-
(格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥)
PATH=%PATH%;C:\Program Files\Hitachi\SEWB+STD_SUB\BIG\BIN
LIB=%LIB%;C:\Program Files\Hitachi\SEWB+STD_SUB\BIG\LIB
- (例2)EUC対応版リトルエンディアン形式のライブラリを使用する場合
-
(格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥)
PATH=%PATH%;C:\Program Files\Hitachi\SEWB+STD_SUB\EUC\LITTLE\BIN
LIB=%LIB%;C:\Program Files\Hitachi\SEWB+STD_SUB\EUC\LITTLE\LIB
-
CBLLIB
環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。したがって,CBLLIBに追加するパスは,そのインタフェーステーブルを格納した場所になります。
- (例)SJIS対応版を使用する場合
-
(格納パスはC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥)
CBLLIB=%CBLLIB%;C:\Program Files\Hitachi\SEWB+STD_SUB\COPY
-
CBLLANG,CBLUNIENDIAN
Unicode対応版を使用する場合,環境変数CBLLANGに'UNICODE'を指定してください。さらに,環境変数CBLUNIENDIANに'BIG',または'LITTLE'を指定してください。
- (例)Unicode対応版(文字データがリトルエンディアン形式)の場合
-
CBLLANG=UNICODE
CBLUNIENDIAN=LITTLE
(c) コンパイル・リンケージ
-
コンパイル
「開発マネージャ for COBOL2002」を使用して,メニューから[ビルド]−[ビルド]をクリックしてコンパイルおよびリンケージを行います。
ユーザアプリケーションでのコンパイルオプションの使用の有無によって,リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと,リンクの対象となるライブラリファイルの対応を次の表に示します。
コンパイルオプションの設定方法,および各コンパイルオプションの機能については,マニュアル「COBOL2002 操作入門」,「COBOL2002 操作ガイド」を参照してください。また,Unicode対応版をご利用の場合は,マニュアル「COBOL2002 ユーザーズガイド」もあわせて参照してください。
表1‒6 コンパイルオプションとリンク対象ライブラリファイルとの対応 オプション名
SJIS
EUC
UNI_BIG
UNI_LITTLE
BIG
LITTLE
BIG
LITTLE
BIG
LITTLE
BIG
LITTLE
-JPN,Alnum
−
−
○
○
×
×
×
×
-UniObjGen
×
×
×
×
○
○
○
○
-UniEndian,Big
×
×
×
×
○
○
×
×
-UniEndian,Little
×
×
×
×
×
×
○
○
-BigEndian,Bin
○
×
○
×
○
×
○
×
-BigEndian,Float
○
×
○
×
○
×
○
×
- (凡例)
-
○:指定する
×:指定しない
−:問わない
表1‒7 コンパイルオプションと標準サブルーチンのライブラリファイル形式の対応 オプション名
ライブラリファイル形式
DLL形式
-StdCall
×※1
○※2
-StdCallFile stdcall呼び出し指示ファイル名
×※1
○※2
- (凡例)
-
○:指定する
×:指定しない
- 注※1
-
標準サブルーチン以外に使用するライブラリがstdcall呼び出し規約で作成しており,COBOLソースファイル中に呼び出し属性を指定していない場合は必要です。
- 注※2
-
標準サブルーチンの呼び出し属性をCOBOLソースファイル中で指定している場合は不要です。
-
リンケージ
「開発マネージャ for COBOL2002」のメニューから[プロジェクト]−[プロジェクトの設定]を選択し,[リンク]タブで使用するライブラリを指定します。標準サブルーチンをリンクする際に指定するライブラリを次に示します。
-
DLLをリンクする場合:lxdl.lib(インポートライブラリ)
-
スタティックライブラリを指定する場合:lxsl.lib
ただし,リンクするライブラリを指定する際,そのライブラリの格納されているパスが環境変数LIBに記述されていない場合は,ライブラリをフルパスで指定してください。
- (例)DLLをリンクする場合
-
(インポートライブラリの格納パスがC:¥Program Files¥Hitachi¥SEWB+STD_SUB¥BIG¥LIB)
C:\Program Files\Hitachi\SEWB+STD_SUB\BIG\LIB\lxdl.lib
-