• 締切済み

VBからFortran、Cを呼び出すことはできますか。

PCフォートラン・C言語で作成したアプリケーションがあるのですが、VBのユーザーインターフェース機能を生かして、対話型のプログラムにしたいと思います。 VBとフォートラン・C言語をリンクして、できれば変数の受け渡しもできるようなプログラム(メニューをVBで作成して、処理をフォートランに渡す)をイメージしています。 上記のような処理を経験された方、又は知識を有しておられる方がおられましたら、よろしくお願い致します。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

定められた規則を守って呼び出し側、呼び出される側を記述すれば VBからC/Fortranで記述されたサブルーチンを呼び出すことはできます。 ただFortranに関してはどの処理系でも、というわけには 行かないかもしれません。 Intel Fotranなら多分OKですが。 Visual Basic からの Visual Fortran の呼び出し http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/pg/pg18_05_01.htm

big-bear
質問者

お礼

有難うございました。参考になりました。

  • KZNS
  • ベストアンサー率61% (16/26)
回答No.2

Windowsで動作させることを前提として回答します。 FortranやCのコンパイラでプログラムをDLL形式で出力します。(xxx.dllといったファイル名です) DLL(Dynamic Link Library)内のプログラムはVBで作成したプログラムから呼び出すことができます(引数の受渡も行えます)。 言語によって変数の内部表現が異なっているので、変数の受渡には注意が必要です。 受け渡すデータが大量に鳴る場合はファイルを経由して連携する方が簡単かもしれません。

big-bear
質問者

お礼

具体的に回答頂き有難う御座いました。実際、組む時にまた伺うかも知れませんがよろしくお願い致します。

  • Zawaja
  • ベストアンサー率51% (92/180)
回答No.1

どの言語にしろ標準入出力を用いてパラメータを受け渡しする方法でプログラムを作成すれば他の言語でコンパイルされた実行ファイルを利用することが出来ると思います。 ただ、Visual Basicで標準入出力を利用する方法は結構面倒という話を聞きますが… ググってみると良いかと思います。

big-bear
質問者

お礼

出来るという事が判って安心しました。細部については適当な資料を調べてみたいと思います。どうも有り難う御座いました。

関連するQ&A

  • c言語で作成したデータをwindowsのアプリ(VB6で作成)で読み取りたいのですが

    VBで作成したアプリの中の変数の値をC言語で作成したプログラムで参照したり、C言語の変数(メモリの値)をVBのアプリで参照したいのですが、どのようにすればいいのでしょうか。 よろしくお願いします。

  • fortranで**の意味は?

    フォートランのプログラム中に**というものがでてきました。 例えばN=2**L/Rと使われていました。(変数はすべて整数型です。) フォートランで**は*と同じと考えてよいのでしょうか? わかる方がいましたら教えていただけないでしょうか? よろしくお願いいたします。

  • Cで作成したDLL関数をVBから呼び 引数渡し方法

    /**** Cプログラム *****/ int testAP( char* a) aのポインタにアドレスを返します。 /**** VB プログラム****/ Public Declare Function testAP Lib "test.dll" (ByRef a As String) As Integer Dim keydata As String * 128 lngRc = testAP(keydata) 上記VBのAPを実行するとアプリケーションエラーになります。 Cプログラムのデバックをすると入口ではaのポインタにはアドレスがセットされていて 、値を設定出来、最後まで正常動作して、VBとのインタフェースで落ちています。 VB6.exeでアプリケーションエラーになっています。 恐らく、VBにはポインタという概念が無いと聞いていてCのAPとの受け渡しに失敗して そうなのですが、VBでの引き渡し方法が分かりません。 よろしくお願い致します。

  • VB.NETかC#かで悩んでます。

    こんにちは。 私は最近プログラムの勉強を始めようと思っているのですが、VB.NETかC#のどちらにすべきかで悩んでいます。 作成したいものはメモ帳やゲーム、簡単なペイントソフトなどの、ベクターや窓の杜で配布されているようなアプリケーションです。 自分の中の「こんなのあったら……」「こういうの便利そうだなぁ」というのを形にしたいんです。 すでにPCの中に【VisualStudio2012 Express For Desktop】もインストール済みで準備はできているんですが、一番重要な使用言語が決まっておりません。 調べたところ自分ではVB.NETかC#がいいなと思うのですが、他にも適切な言語があれば教えてください。 また、私は初心者のため、入門者におすすめな本なども教えていただけると嬉しいです。 よろしくお願いします。 (PC環境はWindows7 64bitです)

  • FORTRANとC言語のデータ受け渡し。

    卒業論文で計算プログラムをくんでいるのですが、 教授から、とりあえずa,bをCでscanfしてそれをFortranに渡し、 足し算させ和cを出し、それをC言語に持って行き、printfさせるプログラム を組んでみろと。C言語はそれなりにわかるつもりですが、Fortranはさっぱりです。データの受け渡しわかる方教えてください。

  • VB6.0とC言語

    VB6.0とC言語 見習い中の見習いプログラマーです。 VB.NETのコードを読めるくらいしか知らないのですが、 外注のVB6.0とC言語を使用した仕事をしています。 プログラムの世界は、こういうものなのですよね。。。 自分の知識の無さに、気持ちがめいってます。。。

  • なぜ、VBよりC#を勧めるのですか?

    プログラミング初心者やBASIC経験者に対して、C#を勧める人が結構いるみたいです。 C#よりVB2005を勧めるといった人はほとんど見かけません。 BASIC系の言語を知っていればVBScriptやVBAなどの理解も早いと思いますし、VB.NET(2005含む)の方が参考書や参考Webページが多いように思われます(初心者向けの物は特に多いのでは…) VB6の頃はオブジェクト指向の機能が不完全でしたが、VB.NETになってからは、完全なオブジェクト指向言語となったように聞いていますが… C#の方が洗練されているとか美しいとかいった事を聞きますが、その程度の事は所詮好みの問題ではないでしょうか 生産性や開発コスト、プログラムの管理といった具体的な観点でC#を勧める理由が知りたいです。

  • VBとCとJAVA

    VBとCとJAVA  今日は,質問させていただきます. どうぞよろしくお願いいたします.  VB.NETが好きでずっとコーディングしておりますが, 使ってもらう友人に毎回.NET Frameworkをインストールしてもらうのが手間でございます... 他の言語も触ってみたいのでございますが,CとJAVAのことをぜんぜん知りません... そこで, 1.VB.NETのように,コントロールを配置したりして  アプリケーション開発できるツールってCやJAVAにもあるのでしょうか? 2.それがもしあれば,それで作成したEXEファイルを使用する時に  .NETのようにPCに何かインストールする必要はないのでしょうか?? 3.VBを始める前から,ネット上でよくVBは独特の癖があって  扱いにくい,といったようなといったようなご意見を見かけます.  VB.NETと他のアプリ開発ツールとの比較(長所や短所などでも)を  簡単にでもお教えいただけないでしょうか.  もしお詳しい方がいらっしゃいましたら, どうぞよろしくお願いいたします.

  • VBとかC#とかC++とか

    Visual Studio2010でシステムを作るのですが、 VBやC#やC++などありますが、どれがどのようなのに向いているのですか? VBは簡易ですが、処理などは遅いのでしょうか? フォームをつくってデータベースとデータのやりとり(文字情報のみ)を するシステムはどの言語が向いてますか? 一度に使用する人数は数十人いて、レスポンス重視です。 教えてください、お願いします。

  • VBの As Single はC++では・・・?

    VBのプログラムをC++に書き換えているのですが、VBの xs(20,2,20) As Single というような変数宣言はC++ではどうすればいいのでしょう? プログラミングど初心者なのでよろしくお願いします。