掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB,VC++にまたがるプログラムで,データの値を追跡(いわゆるデバッグ)する方法を教えて下さい. (ID:55054)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
まず,元発言の最後に書き込みをしてくださったYuoさんのコメントから説 明させてください.多少長くなりますが,お付き合いの程よろしくお願い致し ます. >Knowledge Base 410837 >[VB5] Visual Basic 5.0 から呼び出し可能な DLL の作成例 適切なプログラミングの例を示してくださり,有難うございます. まだ,その例の全てを確認して,自分のプログラムへの適応および正常動作するかどうかの確認は行っておりませんが,取り急ぎ,私の見解を述べさせてください. >FFTWoutに代入する行為も意味がわからなければ, >直後にout(=FFTWout)のメモリを解放する行為の意味もわかりません。 DLLで作成したメモリはDLL内で開放しなけばいけない,ということを聞いたことがあります.そのため,out(DLLが確保したメモリ)をFFTWout(VBによりメモリが確保(されていると,私なりに考えました.))に移し,outを開放したのです. 多くのFFTプログラムの場合,元のデータが入っている配列にフーリエ変換後のデータを上書きして,関数の引用元に返すようですが,私が参考にしたプログラムでは,予め,元のデータと演算後のデータの配列が別個に用意されていたので,それに従いました.また,あのプログラムは,下記サイトから引用させていただきました. http://www.fftw.org/fftw3_doc/Complex-One_002dDimensional-DFTs.html#Complex-One_002dDimensional-DFTs 私が最終的にやりたいことは,得られたデータに対して自動的にフーリエ変換を行うプログラムを作成することです. フーリエ変換およびその他の理論数値計算に関わる計算そのものは,先哲の努力の甲斐が有り,その殆どがFortranやC/C++で書かれ,ライブラリ化されているのですが,残念ながら,その殆どはVBからは読み出せるようにはなっておりません.(多分...) そこで,私は既存のライブラリをVBから使えるように,VC++でDLLを作ることを考えました.もちろん,VBなんて使わないで,全部をVC++で作れればそれに越したことはないのですが,以下の3つの理由によりVB⇔DLL(VC++で作成)⇔ライブラリの構図を考えました. 1.実験装置を駆動するアプリケーションの殆どはVBによって作成されている (現存するリソースの有効活用) 2.VBは多少知っているが,VC++でアプリケーションを作ったことがない (私自身のプログラミング技術の問題) 3.殆どのライブラリはC/C++で書かれている (前述したように,VBからの直接的な利用はできないことが多い(多分)) そういう経緯があって,プログラミングを行っていましたが,どうしても自力では解決できない問題に直面し,このサイトで皆様からの助言を仰ごうという考えに至りました. >とりあえず,KBを漁ってみるくらいはした方がよいです。 仰るとおりだと私もおもいました. VBやVC++付属のMSDN,そしてインターネット上に書き込まれた様々な情報はよく調べるのですが,KBは概して簡単なことが難しく表現されている気概があり,また関連しそうなところを読んでも,結局それを自分の問題にフィードバックさせることができないことが多いので(つまり,KBを読んだあと,「で,結局私はどうすればいいの?」と感じることがあるので),避ける傾向にありました.少しでも,腰を据えて取り組むように致します. あと,KBの問題としては自分が必要とする情報をピンポイントで抽出できないという点がありそうですね.googleなんかによる検索もそうでしょうが,例えば,http://support.microsoft.com/search/?adv=1で「VB DLL」と入れてもKnowledge Base 410837は出てきませんが,「Visual Basic DLL」と入れれば出てくる(それでも30番目)ようです. Yuoさんご指摘有難うございました. Knowledge Base 410837を確認の後また書き込みをさせていただきます.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.