このトピックで紹介するコード例はいずれも断片的なものであり、H2cpy が生成するコード全体を示しているわけではありません。

COBOL コピーファイルの出力例には、変換前のヘッダー ファイルには指定されていないデータ項目も含まれています。これらの項目は、C のデータ型に対応する COBOL の汎用的な型定義です。これらのデータ項目のサイズは、使用している環境によって異なります。

       77 char                pic s9(2)   comp-5 is typedef.
       77 uns-char            pic  9(2)   comp-5 is typedef.
       77 short               pic s9(4)   comp-5 is typedef.
       77 uns-short           pic  9(4)   comp-5 is typedef.
       77 int                 pic s9(9)   comp-5 is typedef.
       77 uns-int             pic  9(9)   comp-5 is typedef.
       77 long                pic s9(9)   comp-5 is typedef.
       77 uns-long            pic  9(9)   comp-5 is typedef.
       77 l-long              pic s9(18)  comp-5 is typedef.
       77 uns-l-long          pic  9(18)  comp-5 is typedef.
       77 d-l-float                       comp-2 is typedef.
       77 d-float                         comp-2 is typedef.
       77 float                           comp-1 is typedef.
       77 proc-pointer        procedure-pointer is typedef.
       77 data-pointer                    pointer is typedef.
       77 void                pic  9(2)   comp-5 is typedef.
注: 他のヘッダー ファイルが先に処理されることを前提としたヘッダー ファイルは、単体では C コンパイラで処理できません。同様に、H2cpy が変換できるのは、スタンドアローンのヘッダー ファイル、またはヘッダー ファイルの完全なセットのみです。C コンパイラのコマンド ラインで指定する必要のあるマクロ名や、特定のコンパイラで定義済みのマクロを、H2cpy コマンド ラインで指定する必要がある場合があります。例として、Microsoft 固有の事前定義マクロを、次にリストします。
  • CHAR_UNSIGNED
  • _CPPUNWIND
  • _DLL
  • _M_IX86
  • _MSC_VER
  • _MT
  • _WIN32
  • _CPPRTTI
  • _M_ALPHA
  • _M_MPPC
  • _M_MRXOOO
  • _M_MPPC
  • _MFC_VER
  • _MT

H2cpy は C++ ヘッダーには対応していないため、__cplusplus マクロは指定しないでください。

-D オプションを使用してコマンド ラインで指定する必要がある可能性がある ANSI C 定義済みマクロは、次のとおりです。

  • __DATE__
  • __FILE__
  • __LINE__
  • __STDC__
  • __TIME__
  • __TIMESTAMP__