web-dev-qa-db-ja.com

FORTRANをC / C ++に変換する

最終年度プロジェクトの一環として、FORTRANコードをCまたはC++に変換する必要があります(理解できる限り、どの言語でもかまいません。Cスタイルの言語も理解できます)。

FORTRANをCに変換するとされるプログラムであるf2cを発見し、指示に従って、makefile.vcファイルをドライブに保存してからインストールしようとしました。

copy makefile.vc makefile
nmake

(これは、f2cに含まれているf2cのインストールに関するREADMEファイルの一部です ダウンロードページ

LinuxまたはUnixシステムでf2cをコンパイルするには、makefile.uをmakefileにコピーし、必要に応じてmakefileを編集し(以下のコメントを参照)、「make」(またはシステムによっては「nmake」)と入力します。

Microsoft Visual C++を使用するMSWindowsシステムでf2c.exeをコンパイルするには、

makefile.vc makefilenmakeをコピーします

他のPCコンパイラでは、xsum.cを-DMSDOS(つまり、MSDOS #defined)でコンパイルする必要がある場合があります。

コンパイラがANSI/ISO C構文を理解していない場合(つまり、K&R Cコンパイラを使用している場合)、-DKR_headersを使用してコンパイルします。

ファイルに個別のバイナリモードとテキストモードがある非Unixシステムでは、「makexsum.out」ではなく「makexsumr.out」が必要になる場合があります。

X64ビットバージョンのWindowsVistaを実行していて、「nmake」を試しましたが、

'nmake'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。

いくつか検索してNmake15.exeをダウンロードしましたが、x64ビットマシンでは動作せず、動作するバージョンがないようです。そこで、動作すると言われた後、Windows SDKをダウンロードしましたが、何も変わりませんでした。

もしそうなら、私はこれらすべてでどこで間違っていましたか、そしてそのFORTRANコードをCまたはC++に変換する方法はありますか?

13
OddCore

f2c の出力は、利用可能なf2cppプログラムを使用して、より読みやすいC/C++ソースに変換できます ここ

Pythonで記述されており、Linuxではシェルスクリプトなどによってf2cと一緒に呼び出すことができます。

#!/bin/bash

f2c -a -C++ -p *.f
c2cpp.py *.c

ここで、f2cはFortran固定形式をCに変換し、c2cppは人間が読めるC/C++ソースに変換します。

ライセンスはGPLです。

0
CKE