4 つの fortran モジュールにリンクされた約 10 の COBOL モジュールがありました。Fortran コードを C プログラムに変換しました。そして、10個のcobolモジュールを交換用の4個のCモジュールにリンクしました。
これらの 10 個の COBOL モジュールには、現在、ENTER FORTRAN ステートメントを置き換える "ENTER C" ステートメントが必要です。その後、コンパイル中に、これらの COBOL モジュールのうちの 2 つがコンパイル中にエラーをスローすることがわかりました。他はしません。
私が得るエラーはこれです:「算術式が複雑すぎます:浮動小数点が使用されています!」- そして、これらの COBOL モジュールの同様の行を指しています。(COBOL85でコンパイルしました)
エラーが指摘されている行は、次のようになります。 COMPUTE D = L OF E / (( L + (A/100)) ** ( Z OF J(S-1)/365)) ここで、L ,E,A,Z & J は、おそらく C プログラムから来ています。
他の行も指摘されていましたが、それはいくぶん似ています。これらの行の中で最も一般的なのは ** (指数演算子) でした。
注: これらの 10 個の COBOL モジュールは、これらの fortran モジュールとリンクすると正常にコンパイルされたので、問題は、作成された同等の C プログラムにあると考えられます。また、FORTRAN から変換するときに、C モジュールで次の変更を使用しました。
INTEGER*8 は C の long int に。DOUBLE PRECISION は C の DOUBLE に。INTEGER は C の int に。
ここで何が問題になる可能性がありますか?