• 締切済み

他のexeファイルを実行する方法(Fortran)

Fortran90で,実行中に他の実行ファイル*.exeを呼び出すことは できますでしょうか? メイン文でサブルーチンを call subroutine名() で呼び出す代わりに call 実行ファイル名.exe のように実行ファイルを呼び出したいです。 コマンドプロンプトでバッチファイルで,逐次exeを 実行することはできますが,ソースコードの中で 実行ファイルを指定したいです。 よろしくお願いいたします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4835/10236)
回答No.1

そういうのは、Fortranの言語使用のそとです。別の言い方をすると、処理系依存なので、コンパイラのマニュアルを見るしかないです。

naetop
質問者

お礼

ご返信有難うございます。Webで調べて,他の処理系で使われている call system('*.exe') を見つけましたが,私の処理系でも利用できました。

関連するQ&A

  • 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ファイルを作成する必要があるのか?

  • VBのEXEから他のVBのEXEのファンクションを実行したい

    メインルーチンからサブルーチンを呼ぶような イメージで VBののEXE‥(1)(メインプログラム)から 他のVBののEXE‥(2)のファンクションを呼び出して値を返したいのですが どうすればよいでしょうか? (1)はバッチファイルのような感じで コマンドライン引数が○○のとき(2)の××と△△を実行するという内容のもの (2)はマスタを更新するプログラムがマスタごとに いくつかのファンクションにわかれたものです。 説明不足で伝わりにくいかとおもいますが、 よろしくおねがいいたします。

  • Fortranでのファイル名操作について

     Fortranを使っているものです。 プログラムで、ファイル名は文字列形式でしか付けれないと思いますが、そのファイル名をメインプログラムから何か値をもらって、それをサブルーチンでファイル名につけるということはできるのでしょうか?  例えば、iをメインプログラムで10~100まで10ずつ動かすとします。そのiの値をわかりやすくするためにファイル名に付けたいと思っていて、do文でサブルーチン中でまわしてファイル名に入れる・・・なんてことは可能でしょうか?

  • Fortranのサブルーチン引数について

    他人が作ったFortran(恐らくFortran77)のプログラムで計算をしようとしています。 コンパイルはできるのですが,実行するとエラーが出てしまい困っています。 エラーメッセージは 「forrtl:severe(157):Program Exception - access violation」 となっていて,実行時エラー番号で調べると 「プログラムが適切な参照権を持っていない仮想アドレスに書き込み,または読み取り を行おうとした」と出ていました。 Fortran初心者の自分にはイマイチ意味が判らないのですが,エラーが出た後に サブルーチンのある決まった場所に黄色い矢印が示されます。 そこで今,その部分のサブルーチンを確認しているところです。 前置きが長くなってしまいましたが サブルーチンの中を確認している途中で疑問に思った所が一つあります。 問題のサブルーチンは --------------------------------------- call dbesl(EN,0,BX0,BY0,BI0,BK0)     subroutine dbesl(X,NOR,BX,BY,BI,BK) FN = NOR  ・  ・  ・ 11 NOR = FN               <---この行に黄色い矢印が出る return end --------------------------------------- となっているのですが,サブルーチンを呼び出すcall文の所で 2つ目の引数が『0』となっているのは正しい使い方なのでしょうか? どうもサブルーチン内の計算をしてメインプログラムに引数を返す所が おかしいような気がしています。 因みにメインプログラムに戻る際の"FN"の値は『0』となっていました。 コンパイラはCompaq Visual Fortranを使用しています。 足りない情報は出来るだけ追記していきますので,ご教示宜しくお願いします。

  • Do文で副プログラムの増やす【Fortran】

    Fortranを使用してます。 DO文で副プログラムをループさせて増やしたいのですが、どうすればいいか分りません。 具体的には、副プログラムの「SUBROUTINE」文+サブルーチン名 であるサブルーチン名の後にループを使って番号を付けたいのですが・・・ 簡易なイメージとして以下のソースでtest0、test1、test2、・・・・・test10となるようなサブルーチン名にしたいのです。 do x=0,10 SUBROUTINE test+x y=x+10 retun end end do Fortran初心者ですが、解決したいので難しい解説でも大丈夫です。 分る方は宜しくお願いいたします。

  • cl.exeを呼び出して実行する方法について

    C言語初心者です。基本的な質問で申し訳ございません。 自作コンパイルコマンドのためのコーディング内容を考えてますが、 cl.exeを呼び出して実行する方法がわかりません。 自作コンパイルコマンドで処理したい内容としては、 ・コマンド実行時の引数より、以下の指定を可能にしたいと思います。 - 出力ファイル名を指定するためのオプション名(例: -o) - 出力ファイル名 - ソースファイル名を指定するためのオプション名(例: -f) - ソースファイル名 - ソースの中で定義されているサービス(関数名)を指定するための オプション名(例: -s) - ソースの中で定義されているサービス(関数名) コンパイルコマンド実行時にcl.exeを内部的に実行したいと考えておりますが、cl.exeを呼び出して実行するための方法がわかりません。

  • バッチファイルでの実行EXEのメモリ使用について

    こんにちは。 バッチファイルで起動したEXEはコマンドプロンプトのメモリの制限内で動作してそうに思うのですが、 (1)コマンドプロンプトのメモリの制限を受けなくする   又は (2)メモリを拡張する。 ということは可能でしょうか? 初めての質問のため、ぎこちないとは思いますが宜しくお願いします。

  • exeファイルが実行できません

    フリーソフトなどインターネットからダウンロードしたexeファイルをダブルクリックで実行すると、コマンドプロンプトの画面のようなものが一瞬開いてすぐに閉じてしまいます。 インストール設定の画面などはでてきません。 なにか環境がおかしいのでしょうか? よろしくお願いします。

  • バッチファイルについて質問です

    質問お願いします!! たとえばコマンドプロンプトから "1.exe" & "2.exe" を実行すると同時に処理(起動)されるのですが バッチファイルにして実行すると1を閉じててから2が起動する。 という感じになるのですがなぜなのでしょうか? そもそもコマンドプロンプトからの実行と バッチファイルでの実行で違いはあるのでしょうか?? コマンドは全くの初心者なのですが急いでいたので 質問させていただきました。。。 windows vista です。 どなかたどうぞよろしくお願い致します。

  • 拡張子が「.exe」でないファイルを実効ファイルとして実行するには?

    こんにちは。 いつもお世話になっております。 拡張子が「.exe」でないファイルを実効ファイルとして実行するにはどうしたらよいでしょうか? 例えばVBで作成した実行ファイル「test.exe」を名前の変更で「test.txt」などにした場合にそれを実行ファイルとして実行したいのです。 エクスプローラ上でダブルクリックした場合は当然テキストエディタが立ち上がってしまいます。 一応、コマンドプロンプト上で実行した場合は実効ファイルとして起動したのですが、 もう少し簡単に(ファイル名を指定して実行などで)できないのでしょうか? どうかご教示下さい。 環境:Windows 2000