• ベストアンサー

MacでFortranプログラミングをするには・・・

当方、Windowsユーザーですが、最近、単なる興味本位でMacに買い換えようと考えています。 通常、WindowsでFortranのプログラミングを行う際は、visial fortranのようなコンパイラで、コンパイルして実行する訳ですが、Macの場合もコンパイラを使うのですか? また、いろいろ複数のソースファイルを結合させて一つの実行ファイルを作る際、リンカーを使って一つの実行ファイルを作るわけですが、そういうこともできますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Mac OS XのMacは使ったことないんで何とも言えないんですが、現在のMac OS XはFree BSDと言うUNIX系OSがベースなんで、GNUのFortran(と言うかGCC)が手に入るんで、Fortranも使えると思いますよ。 実際、電器屋でMacを弄った時、EmacsやvimやPython等と言うLinuxでお馴染みのツール群が入ってて問題無く動いてたんで、ほぼ「UNIXとして使える」と言う事だと思います。

関連するQ&A

  • fortran77について

    salfordのfortran77コンパイラ&リンカについておしえてください コンパイラ&リンカのプログラムと同じディレクトリにソースプログラムを入れないとリンカしてくれないのはなぜなのでしょうか?

  • Fortran90/Fortran95→Fortran77

    大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします

  • Macでfortran

    Mac(Mac OS X Lion 10.7.4)でFortranをコンパイルしたいのですが、なかなかできません。 まずXcode 4.3をインストールしました。 gfortran4.6もインストールしました。 ターミナルで「gfortran」を打つと、 gfortran: 致命的エラー: 入力ファイルがありません と返ってきます。 そこで「gfortran test1.f」とソースコードtest1.fをコンパイルしようとすると、 gfortran: error trying to exec 'as': execvp: No such file or directory と出てきて、コンパイルできません。 何が問題で、どのようにしたらコンパイルできるようになるのでしょうか。

  • Fortranのバージョンアップと古いソースコード

    Fortranは科学技術計算の古い資産が使えるということでまだ使われていると思います。 しかも、コンパイラ・リンカは製品としてバージョンアップしているわけですが、新しくなっても古いコードはコンパイル・リンク・実行できると思っていました。最近、intel fortranの更新をしたのですが、動作がかなり違ってきました。F77,F90,F95などの更新ではなく、intel社の製品としての最新版への更新です。コンパイル・リンクまでは行くのですが、実行させたとたん、ゼロ割のようなメッセージが出て、実行が打ち切られてしまいます。1時間ぐらい走るプログラムなのですが、1秒で打ち切りでした。必ずそうなるということではありません。特定のライブラリで生じます。そのライブラリは古い(言語としてはF77)ので当然ながら新しいコンパイラで動くなどと書いていません。ただソースコードの塊であり、古いコンパイラでは動いていたのです。古いと行っても2009年ぐらいに買ったintel visual fortran ver.11ぐらいのもので2016年のコンパイラと大幅な変更はないはずなのですが。例えば最新版(2016年2月時点)の方は並列関係の設定の方がデフォルトで並列計算しない設定をコンパイラオプションで指定しないとおかしくなるということでしょうか(たぶんGPUには対応していないと思いますが)。どっかに書いてあるかなと思案していますが。 何か心当たりがあればよろしくお願いします。

  • Fortran90 プログラミング

    プログラミング初心者です。Fortran90を使って、次の機能を持つプログラムを作成し、ソースと実行結果を示していただけませんか? 「半径rを入力すると、そのrを半径とする円の面積、球の体積、球の表面積を表示する。」

  • Javaのプログラミング

    Javaのプログラミングを今日始めたのですが コンパイルの実行をする際 javac <ソースファイル名>を入力しコンパイルしたら エラーと出てしまいます 原因としては何が考えられるのでしょうか?

  • MACでプログラミング C#

    今までWindowsでプログラミングをやってましたが、やはりMACのほうがかっこいいのでMACBOOKを買おうと思っています。 プログラミングをやる上でMACだと何か問題点とかありますか? PHP、JAVA、JS、C#などをやりたいです。 C#については、visualstudioでやってたのですが、MACだと、「Mono」を入れるとコンパイルが出来るようですが、不便さとかありますか? プログラミングやる上でお勧めのMACなどあれば教えて欲しいです。 宜しくお願いします。

  • Fortranによるオブジェく志向プログラミング

    私は、ずっと、手続き型のプログラミングをやってきて、言語はFortranであり、そのプログラミングの内容は四則計算、ループ、分岐、ファイル入出力みたいなものに限定されていました。 ところが、最近はじめて知ったのですが、Fortranの2003ぐらいになるとオブジェクト指向プログラミングに対応していてクラス、メソッド、インスタンスなどのような概念が出てきたようです(だいぶ前からあったのかもですが、最近まで知りませんでした)。 そこで2つ質問なのですが、従来使っていた手続き型のプログラムはすべて原理的にオブジェクト指向プログラムに移行可能なのでしょうか。無理に移行しなくてもいいとは思いますが、そういう越境のようなことができるのかということですが(手間だけかかって時間の無駄かもしれませんが、訓練という価値はあります)。そして、最終的にはプログラミングというものがすべてオブジェクト指向に収斂してしまうということになるのでしょうか。 もう1つはFortranでオブジェクト指向プログラムができるという場合、バージョンとかそれに応じた仕様とかでその度合いに違いがあるのでしょうか。今までFortranで手続き型のプログラミング(四則計算等)をやっていたのでコンパイラの選択による違いに大差ないという感じでした(あまり方言がないとか)。オブジェクト指向ということになると”これはできるけど、あれはできない”とか際どい問題があるように思います。C++とかJavaの参考書に載っていたようなことがFortranで本当にどこまでできるのかという疑問です。これが明確にならないとただでさえ難しいオブジェクト指向プログラムで私のアルゴリズムにミスがあるのか、アルゴリズムは問題ないけどコンパイラがそれに対応してないという問題の区別がつかなくなると思うのですが。 Fortranのオブジェクト指向の解説本を見たことがないのでお尋ねしました。よろしくお願いします。

  • g77(fortran77)でのエラー

    http://www.eq.db.shibaura-it.ac.jp/fortran/ex.html#install  このサイトの通りに従い、g77コンパイラをインストールして、fortran77のソースをコンパイルしようとしたのですが、 “g77: installation problem, cannot exec 'f771': No such file or directory” というメッセージが出てうまくできません。なぜなのか、どうすればうまくいくのか、ご教授をお願い致します。  Windows Vista sp2です。

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

専門家に質問してみよう