- - PR -
C言語からC++のクラス/メソッドを利用する方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-09 10:27
お世話になります。
VC6.0でC言語からC++クラス/メソッドを利用したいと思っています。 技術的には可能かと思われますが、いまいちやり方が理解できません。 どなたかサンプルコードを提供していただけないでしょうか? よろしくお願いします。 ちなみに最終的には、 C ⇒ C++ ⇒ VB.netのコールという図式で利用しようと思っています。 | ||||||||||||
|
投稿日時: 2006-11-09 10:54
C言語からC++のクラスを直接使うことは出来ません。
C++でC言語でも使えるようにラッパー関数を作ることになります。 結局のところ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34448&forum=7 の 投稿日時: 2006-10-26 00:20 の
のような形になってしまいます。 つまり、結局C言語ならば、C++/CLIを噛ます利点がない気がする。 | ||||||||||||
|
投稿日時: 2006-11-09 10:59
初期のC++コンパイラはC++のソースコードをC言語のソースコードに変換するトランスレータでした。確かに技術的には可能でしょうけど、現実的では無いと思いますよ。C++でC言語から呼び出せるようにラッパーを作成するのが現実的でしょう。 C ⇒ C++(ラッパー) ⇒ C++ ⇒ VB.net
C++ ⇒ VB.netの部分をどうやって実現するのかは考えているのですか?C++から直接VB.NETのコードを呼び出すことは出来ません。C++/CLIでラッパーを作るか、あるいはCOMを用いて呼び出すことになると思うのですけど・・・。 C ⇒ C++の部分もどのようなインターフェースを想定していますか?レガシーDLLでしょうか?いまどきC++のコンパイラばかりで、C言語のコンパイラなんて滅多にありません。C++では認められない理由は何処にあるんでしょう? | ||||||||||||
|
投稿日時: 2006-11-09 11:05
一応こんな別掲示板でスレッド見つけた。
人力検索はてな - C言語からC++のメソッドを呼び出す方法があるでしょうか。あるならばどのようにすればよいでしょうか。注、C++からCの関数を呼び出す方法ではありません。.. | ||||||||||||
|
投稿日時: 2006-11-09 11:08
C言語にこだわっている理由は、私共のアプリが過去の遺産を引き継いだもので 全てC言語及びFORTRANで実装されている為です。 その為開発は現状全てC言語で行っています。 ただ他システムとの密連携をする上で、このような連携が必要に迫られています。 |
1