5.4.5 endianオプション
- 〈この項の構成〉
(1) 機能
コンピュータで扱うバイナリデータ(2進項目および内部浮動小数点項目)の形式がWindows,AIX,またはLinuxで異なります。WindowsおよびLinuxではリトルエンディアン形式で,AIXではビッグエンディアン形式となります。
- (例)
-
513(=X'00000201')が4バイトの2進項目に配置された場合の違い
-
ビッグエンディアン形式(AIX)
-
リトルエンディアン形式(Windows,Linux)
-
WindowsまたはLinuxのCOBOLでは,通常リトルエンディアン形式でデータを扱いますが,COBOLプログラムのコンパイル時に-BigEndianオプションを指定すると,ビッグエンディアン形式でデータを扱うことができます。ビッグエンディアン形式でデータを扱うプログラムをJavaから呼び出して使用したい場合には,このオプションにbigを指定すると,ビッグエンディアン形式でデータを受け渡しすることができます。
(2) 指定形式
-
Windowsの場合
SET CBLJ2CBOPT=endian( little | big )
endianオプション未指定時は,littleとして扱います。
-
AIXの場合
endianオプションは引用符(")で囲んで指定します。
CBLJ2CBOPT="endian( little | big )" export CBLJ2CBOPT
endianオプション未指定時は,bigとして扱います。
-
Linuxの場合
endianオプションは引用符(")で囲んで指定します。
CBLJ2CBOPT="endian( little | big )" export CBLJ2CBOPT
endianオプション未指定時は,littleとして扱います。
(3) 指定値の動作
endian(little): 2進項目をリトルエンディアンで扱います。
endian(big): 2進項目をビッグエンディアンで扱います。
(4) 注意事項
このオプションは,次の項目に対して有効です。
-
浮動小数点項目
-
COMPUTATIONAL-5/COMP-5を除いた2進項目
-
次に示すBeanで受け渡す,COMPUTATIONAL-5/COMP-5指定の2進項目
-
COBOL adapter for Cosminexus Version 2 02-05未満で生成したBean
-
COBOL adapter for Cosminexus Version 2 02-05以降で「COMP-5をCOMPとして扱う。」チェックボックスをオンにして生成したBean
-
Windows(x86) COBOL2002 Cosminexus連携機能01-02未満の開発環境で生成したBean
-
Windows(x86) COBOL2002 Cosminexus連携機能01-02以降の開発環境で「COMP-5をCOMPとして扱う。」チェックボックスをオンにして生成したBean
-
WindowsまたはLinuxの場合COBOLアクセスで,このオプションにbigを指定する場合は,COBOLプログラムコンパイル時に-BigEndian,Binコンパイラオプションと-BigEndian,Floatコンパイラオプションを指定してください。