VC 6.0 を使用して開発された純粋な C++ アプリケーションがあります。このアプリケーションで C# で開発されたライブラリを利用したいと考えています。ネイティブ実行可能ファイルから C# ライブラリのメソッドを呼び出すにはどうすればよいですか? アンマネージド C++ ネイティブ アプリケーションをマネージド コードに変換したくありません。同様に、どうすれば逆になりますか?PInvoke が唯一のオプションですか? 同じことについての参照やポインタをいただければ幸いです。
1148 次
2 に答える
3
アンマネージド C++ からマネージド コードを呼び出すには、ClrCreateManagedInstanceを使用するか、マネージド アセンブリ内の型を COM 可視としてエクスポートし、COM を使用します。マネージド コードからアンマネージド コードを呼び出すには、COM または P/Invoke を使用します。
于 2009-06-25T22:17:13.573 に答える
1
これに関するMicrosoftの主な方針は、COM相互運用を使用することです。ただし、別のオプションがあり、「Reverse P/Invoke」と呼ばれることもあります。興味深いブログ投稿がここにあり、その他のオプションがここにあります
また、Delphi.NET (現在は廃止) を使用している場合、この言語を使用すると、他の dll 関数と同じように静的メソッドをエクスポートでき、通常のネイティブ DLL と同じように Delphi.NET アセンブリを呼び出すことができます。
于 2009-06-25T22:43:10.760 に答える