- - PR -
C#からVC++で作成したクラス・関数を使用する
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-28 00:08
お世話になります。
現在 C# で開発を行っているのですが ライブラリ郡(主に算術系)が VC++ で作成されており せっかくなので、それらのクラスや関数を使えないかと思っています。 文章がややこしくなりそうなので、箇条書きにて書かせていただきますと 1:自分をメンバに持っているクラスや他クラスの参照型、ポインタなどの引数を 持つ関数を呼び出せるのか? 2:関数だけでなく、ライブラリ側のクラスのインスタンスを作成し 普通にメンバ変数等を使えるのか? 3:同じ名前のメンバ関数をを持つクラスを、一つの DLL にまとめても 大丈夫なのか? といった辺りが問題としてあがっています。 これらは対応可能なのでしょうか? C#はまだまだ勉強中でして、初歩的な質問かもしれませんが どうぞよろしくお願い致します。 【開発環境】 WindowsXP SP2 Visual Studio .NET2003 |
|
投稿日時: 2005-06-28 06:56
Managed C++のライブラリとしてビルドされている、又はリビルドする事が許されるなら、C#のコードから直接クラスライブラリとして呼び出せます。プロジェクトから参照設定するなどして使ってください。
ネィテブなC++のクラスを、C#から直接呼び出す事は出来ません。Cでラッパー関数を用意するか、Managed C++でラッパークラスを作る必要があるでしょう。 |
|
投稿日時: 2005-06-28 15:55
レスありがとうございます。
上記のライブラリは、別のプロジェクトでも使われており こちらは C++ で書かれています。 もし、ライブラリを Managed C++ としてビルドし直すとすれば 今度はその別プロジェクト( C++ )側で使えなくなると なるのでしょうか? てことは、両プロジェクト( C++ と C# )で同じライブラリを使いたければ Managed C++ でラッパークラスを作らざるを得ないということ なんでしょうかね? |
1