27.4.1 コンパイル
-UniObjGenオプションおよび-UniEndianオプションを指定すると英数字定数,および日本語文字定数の文字コードをUnicodeに変換します。-UniObjGenオプションについては,「32.5.14 その他の設定」の「(17) -UniObjGenオプション」を参照してください。-UniEndianオプションについては,「32.5.14 その他の設定」の「(18) -UniEndianオプション」を参照してください。
- 〈この項の構成〉
(1) -UniObjGenオプションと-UniEndianオプションの関係
-UniObjGenオプションと-UniEndianオプションの関係を,次に示します。
-UniObjGenオプション指定 |
-UniEndianオプション指定 |
||||
---|---|---|---|---|---|
-UniEndian,Little |
-UniEndian,Big |
指定なし(デフォルト) |
|||
AIX |
Linux |
||||
指定あり |
日本語文字定数 |
UTF-16LEに変換 |
UTF-16BEに変換 |
UTF-16BEに変換 |
UTF-16LEに変換 |
英数字定数 |
UTF-8に変換(-UniEndianオプションの影響はない) |
||||
指定なし※ |
無変換 |
該当しない |
(2) -UniObjGenオプション指定時の注意事項
-UniObjGenオプション指定時の注意事項を次に示します。
-
-UniObjGenオプション指定の有無が異なるCOBOLプログラムを混在して実行することはできません。混在して実行した場合,動作は保証しません。
-
前提条件を満たしていない環境で-UniObjGenオプションを指定してコンパイルした場合,コンパイルエラーとなります。前提条件を満たしていない環境を次に示します。
-
コード変換ライブラリがインストールされていない場合
-
使用するコード変換ライブラリが前提バージョンに満たない場合
-
-
NATIVE指定以外の符号系名を,実行用計算機段落のPROGRAM COLLATING SEQUENCE句,またはSORT,MERGE文のCOLLATING SEQUENCE句に指定した場合,コンパイルエラーとなります。
-
-Switch,EBCDIKオプションまたは-Switch,EBCDICオプションと-UniObjGenオプションを同時に指定した場合,コンパイルエラーとなります。
-
コンパイル中にコード変換に失敗した場合,コンパイルエラーとなります。
-
AIXの場合,EUC環境下で-UniObjGenオプションを指定すると,コンパイルエラーとなります。
-
Linuxの場合,-UniObjGenオプション指定時に環境変数CBLSRCENCODINGを指定していないと,コンパイルエラーとなります。
-
Linuxの場合,UTF-8環境下で-UniObjGenオプションを指定していないと,コンパイルエラーとなります。
-
-JPNオプション,-CompatiV3オプション,-V3Recオプションは指定できません。ただし,コンパイラ環境変数CBLV3UNICODEにYESを指定すると,-UniObjGenオプションと-CompatiV3または-V3Recオプションを同時に指定できます。コンパイラ環境変数CBLV3UNICODEについては,「32.6.3 コンパイラ環境変数の詳細」の「(17) CBLV3UNICODE」を参照してください。