H2cpy の制限事項

H2cpy はパラメーター付きのマクロを検出すると、以降のコード内での展開に備えて定義を保持します。ただし、パラメーター付きマクロの定義が 2 ~ 3 行以上にわたる場合には、記憶域の容量が不足し、一部の定義情報を確保できない可能性があります。その時点では問題は表面化しませんが、当該マクロの展開が必要になった時点でエラーが発生します。

H2cpy と C コンパイラの前処理方法の相違による問題が発生するようであれば、ヘッダー ファイルの前処理のみを C コンパイラで実行し、処理後のファイルを H2cpy の入力に使用することで問題を回避できる場合があります。

C 言語のデータ型は COBOL のデータ型とは異なり、そのままで環境間の互換性があるとは限りません。そのため、同じライブラリとのインターフェイスを使用するプログラムでも、動作するマシンやオペレーティング システムが異なれば、H2cpy によるコードの再生成が必要になる可能性があります。

H2cpy は、IBM C 特有の _Packed 型を検出しても、構造体や共用体の 1 バイト整列は行いません。そのため、_Packed を前提とした空白詰め項目が使用されている場合には、手作業で削除する必要があります。