定義のインタフェースにC++とを実施することが必要となりクライアントまで、フルのC#とC++
質問
私はインターフェースとして定義されたC++の今を実施することが必要となり、C#.には、どうするのがベストなのか。ならないようにしたいカレンダー、エディターで私のインタフェース定義.の解決この今にてインタフェース定義、C++、C#.その後、さらにC#のインターフェースCOMサーバーです。この申請書に記載するC++ではC#.直しとかは出来ないんですか私はできる必要性を回避するための定義は私の実施にはC++とC#?
解決
希望の利用はC++/CLI用管理コードの代わりにスレッドセーフで、C#、遠くても構わないので消費するネイティブのC++インタフェース定義を通じて直接ヘッダファイルです。かもしこのようはインターフェース-最も簡単な場合のものを使用できるかなり満足できるパイでした。
しくはマーカスHeegeの 専門家のC++/CLI:.NETのためのVisual C++プログラマー, となり、多くの情報の混合はネイティブのC++です。います。
他のヒント
Swig はツールの包C++クラスのような他の言語(C#.
だいたいカレンダー、エディター?
こうして私た。Visualたく、使いCOMオブジェクトやインターフェースにでもマージエレメント(以下参照のCOMオブジェクトの実行時の呼び出し可能オブジェクトのラッパで作成されあります。同様にマーキングC#のクラスとして"登録のためのvisual"たました。
記インターフェースにC++とマクロを使用してくれるように標準cppヘッダファイルUNIXのように、IDLファイルwindowsの場合をこなせることができ書python/rubyスクリプトを使用して生成するのIDLからのC++ヘッダファイル).
コンパイルをIDLをtypelib.利用TypeLib輸入業者のインタフェース定義のためのC#と実インタフェースである。
書のIDLインタフェース用のツールをコンパイルのインターフェースの外国語力を身につけていきます。を感じるかもしれませんが示唆を与えることが見込CORBAした関係とは異なるバックグラウン語インターフェース.
/アラン-
その他のアプローチをご利用-コト-ミル-ヒトC-スタイルAPIとなります。まれて使用 extern "C"
を防ぐオーバーロード.使用DEFファイルの名前を明示に輸出され、彼らはレコード店ディスクユニオンで装飾されずにC++の機能は"装飾"をエンコードのパラメータの種類を輸出している。
るx86、注意を呼び出しコンベンションに出かけていく。あるんじゃないでしょうかを明示的に宣言の使用 __stdcall
または __cdecl
.でP/呼び出しは主として呼び出しに使用されるWindows Api、デフォルトでStdCallが、CとC++のデフォルトcdeclでを支援する変数引数.
私は最近に包まれ、COMインタフェース IRapiStream
横Cインタフェースです。純うに変換するIStreamへの保存に失敗したエラー STG_E_UNIMPLEMENTEDFUNCTION
.
だという言葉は使っていないバージョンです。純だが、この試験に用います。NET2003は薄いC#のラッパのpimpledの実施のC++クラス:
public __gc class MyClass_Net {
public:
MyClass_Net()
:native_ptr_(new MyClass())
{
}
~MyClass_Net()
{
delete native_ptr_;
}
private:
MyClass __nogc *native_ptr_;
};
明らかに、一つの希望を促shared_ptrすが、なんといかんで遊ぶことができるもV.NET 2003年...
方法で進基本となるC++のためのフィジカルアセスメのポインタです。メソッドの引数となる場合がございます。例えば、C++の方法を文字列はC#の方法べきなのか。文字列(システム::文字列によって管理されたC++).い利用システム::ランタイム::InteropServices::Marshal::StringToHGlobalAnsi()されました。
ワンフォーカスをこのアプローチで管理C++です。純言語なのに、なaccessorsとしての特性(__ている。できな属性のようにクライアントまで、フルのC#.