私はCoreCLRホストをC++で作成しています。C++でのCoreCLRホストの作成に関するドキュメント
I'haveは正常のC++からのAC#関数と呼ば:そのドキュメントを読ん https://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting
:
別のオプション、ExecuteAssemblyはあなたのホストのニーズを満たしていない場合は、CreateDelegateを使用する です静的に管理された メソッドへの関数ポインタを作成します。これにより、ホストは(ファンクションポインタタイプを作成するために) が呼び出すメソッドのシグネチャを知る必要がありますが、 は、ホストがアセンブリの エントリポイント以外のコードを柔軟に呼び出すことを可能にします。
public static int withParams(int aNumber, string[] args)
は、いくつかのマーシャリング/アンマーシャリングのルールがどのように、そこにある:どのように私はこのような機能のために、例えば
を "C++関数ポインタ型を作成する" ことができ、AC#関数を与え
オブジェクトや配列をパラメータとして扱うのですか?
C++コードにcoreclrを埋め込むための適切な文書がありますか?
は、私はこのような何か(ただしcoreclr用)を探します。 http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html
BSTR、SAFEARRAY *。 –
このサンプルでは、char *を使用しています。@ HansPassantはBSTRをなぜ使用していますか?それについていくつかの文書がありますか、理解するためにサンプルをリバースエンジニアリングする必要がありますか? – Albertino80