sarusaruru回答ポイント 60ptウォッチ 2

C#からC++(CLIではなくNative)のDLLと連携をしたいと思っています。

(自作のため全てのコードは入手可能です)

C++/NativeのDLLが出力するデータは構造が複雑なために、C#でマーシャリングするのが大変です。
そのためC++/CLIで一度クッションを入れてデータのやり取りを考えています。
C#のEXE -> C++/CLIのDLL -> C++/NativeのDLL
みたいな流れです。

C++/CLIでC++/Nativeをコールして、その結果をC++/Nativeのヘッダーファイルで定義されているクラスとして取得できました。

これをC#に渡したい場合、
C++/CLIのDLLではどんな手段がありますか?

①C++/CLIでC#に渡す用のクラスを定義しないといけない
②C++/Nativeのヘッダーがあるならいい方法がある
③マーシャリングが大変でもC#から直接C++/Nativeを呼ぶほうがマシ。

その他なんでもいい方法があれば教えてください。

・C++/Nativeの出力するオブジェクトはSTLのものを含みます。
・共有メモリやらメモリマップドファイルなどを使ってC++/CLI⇔C++/Nativeの連携が成立しているので、やりとりには多少の処理が必要です。
・.NET2.0で可能なものでお願いします。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2008-11-02 13:00:44
終了日時
2008-11-09 13:05:02
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

C++/CLI6C++540C#561STL14CLI53DLL416オブジェクト658

人気の質問

メニュー

PC版