COBOL2002 ユーザーズガイド
64bit版PC(x64) COBOL2002では,32bit版PC(x86) COBOL2002と比べて呼び出し規約の変更,およびポインタサイズの64bit化に対応しました。そのため,64bit版PC(x64) COBOL2002に対応するCOBOL2002の言語仕様にも32bit版PC(x86) COBOL2002と比べて一部変更があります。
64bit版PC(x64) COBOL2002固有の言語仕様について説明します。
64bit版PC(x64) COBOL2002では,呼び出し規約がfastcallに限定されます。ほかの呼び出し規約を指定することはできません。fastcall呼び出し規約については,「19.4.2 呼び出し規約」の「(3) fastcall呼び出し規約(64bit版PC(x64) COBOL2002で有効)」を参照してください。
64bit版PC(x64) COBOL2002では使用できない呼び出し規約の指定に関する言語仕様を,次に示します。
表41-3 使用できない呼び出し規約の指定に関する言語仕様
言語仕様 | 指定 |
---|---|
環境部の特殊名段落(SPECIAL-NAMES) |
|
環境部の外部プログラム節(EXTERNAL-PROGRAM SECTION) |
|
これらの言語仕様を指定した場合,コンパイラはfastcall呼び出し規約で処理し,指定された言語仕様を覚え書きとする警告エラーを出力します。
64bit版PC(x64) COBOL2002では使用できない,呼び出し規約の指定に関するコンパイラオプションを次に示します。
もし,これらのコンパイラオプションを指定した場合は,コンパイラは指定を無視して処理を続けます。
長さが8バイトになるアドレス系データを表現するデータ項目を,次に示します。これらの項目の自然な境界は8バイトです。SYNCHRONIZED句を指定してけた詰めする場合は,8バイト境界になります。
SYNCHRONIZED句については,マニュアル「COBOL2002 言語 標準仕様編 9.16.80 SYNCHRONIZED句」を参照してください。
けた詰めについては,マニュアル「COBOL2002 言語 標準仕様編 4.4.1(7) 実行用コードの効率を高めるための項目のけた詰め」を参照してください。
返却値のサイズが8バイト2進になる組み込み関数を,次に示します。
LENGTH関数については,マニュアル「COBOL2002 言語 標準仕様編 11.31 LENGTH関数」を参照してください。
LENGTH-OF-VARIANT関数については,マニュアル「COBOL2002 言語 標準仕様編 11.33 LENGTH-OF-VARIANT関数」を参照してください。
COUNT-CHAR関数については,マニュアル「COBOL2002 言語 拡張仕様編 24.2.1 COUNT-CHAR関数」を参照してください。
LENGTH-OF-SUBSTRING関数については,マニュアル「COBOL2002 言語 拡張仕様編 24.2.3 LENGTH-OF-SUBSTRING関数」を参照してください。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.