付録B.5 機能ごとの移行性と互換性に関する注意事項
- 〈この項の構成〉
(1) 浮動小数点演算の結果に関する注意事項
異なるプラットフォームへ移行する場合,浮動小数点演算の精度の違いによって,移行元システムと結果差異が発生することがあります。浮動小数点数として妥当な値でも,異なるプラットフォームへ移行する場合は浮動小数点演算の精度の違いによる誤差に注意してください。
浮動小数点演算の精度の違いによる誤差が発生する条件を次に示します。
-
被べき数(底)またはべき数(指数)が浮動小数点項目や浮動小数点数字定数である場合
-
べき数(指数)が整数でない定数や整数項目でないべき乗演算を使用する場合
-
次のどれかの組み込み関数を使用する場合
-
ACOS関数
-
ASIN関数
-
ATAN関数
-
COS関数
-
LOG関数
-
LOG10関数
-
RANDOM関数
-
SIN関数
-
SQRT関数
-
SUM関数(引数に浮動小数点項目,除算またはべき乗が含まれる算術式を指定した場合)
-
TAN関数
-
ANNUITY関数
-
PRESENT-VALUE関数
-
(2) 実行可能ファイルまたはDLLファイル作成時の注意事項
-
インストール先の変更点
COBOL2002 V4では,COBOL85または旧バージョンのCOBOL2002からインストール先が変更されています。
バッチファイルなどで環境変数PATHとLIBを個別に設定している場合や,対象ファイルを絶対パス名で参照している場合,設定値の修正が必要です。
-
リンカやライブラリのインストール先
COBOL2002 V3では,同梱するVisual Studioのリンカなどのインストール先を変更しています。また,COBOL2002 V4では,COBOL2002のインストーラがWindows SDKに含まれるマニフェストツールおよびC/C++インポートライブラリをインストールしなくなりました。
表B‒5 リンカやライブラリのインストール先 対象ファイル
対象システム
インストール先
リンカ,ライブラリ管理ツール,リソースコンパイラ
COBOL2002 V1/V2/V3※1
<COBOL2002インストールフォルダ>¥BIN
COBOL2002 V3※2/V4
<COBOL2002インストールフォルダ>¥BIN¥SDK
マニフェストツール
COBOL2002 V1/V2
<COBOL2002インストールフォルダ>¥BIN
COBOL2002 V3
<COBOL2002インストールフォルダ>¥BIN¥SDK
COBOL2002 V4
Windows SDKインストール先のMTコマンドがある¥BINダ
C/C++インポートライブラリ
COBOL2002 V1/V2/V3※1
<COBOL2002インストールフォルダ>¥BIN
COBOL2002 V3※2
<COBOL2002インストールフォルダ>¥LIB¥SDK
COBOL2002 V4
Windows SDKインストール先のインポートライブラリがあるフォルダ※3
-
ISAMライブラリのインストール先
移行元のOSがWindows Vista未満,またはWindows Server 2008未満の場合はインストール先が変更となります。
COBOL2002 V4で同梱するISAMのインストール先はCOBOL2002インストールフォルダと同じ階層です。
COBOL2002のインストール先をデフォルトにしたときの,同梱するISAMのインストール先を次に示します。
-
Windows(x86) COBOL2002の場合:
32bit OSの場合:%ProgramFiles%¥ISAM
64bit OSの場合:%ProgramFiles(x86)%¥ISAM
-
Windows(x64) COBOL2002の場合:%ProgramFiles%¥ISAM64
-
(3) Windows(x86) COBOL2002 01-03未満のCOBOL2002 Cosminexus連携機能を移行する場合の注意事項
(a) COBOLアクセス用Beanをjavacでコンパイルする場合の注意事項
javacコマンドで,Windows(x86) COBOL2002 01-03未満で生成したCOBOLアクセス用Beanに対し-Xlintオプションを指定すると,次に示す警告メッセージが出力されます。
警告: [serial] 直列化可能なクラス yyy には,serialVersionUID が定義されていません。
- 注
-
yyyは,COBOLアクセス用Beanとして生成したパッケージ名.クラス名を示します。
この警告メッセージは無視することができ,生成したクラスの実行動作を保証します。
(b) ライブラリの常駐化に関する注意事項
デフォルトオプション指定では,COBOL UAP呼び出し後,COBOL UAPライブラリをアンロードしないように変更しています。メモリ資源の面から,使用頻度が少ないライブラリをアンロードしたい場合は,loadingruleオプションおよび環境変数CBLJ2CBSTAYLIBで,COBOL UAPライブラリのロード/アンロードを制御してください。