簡単なタスクを実行したいと思います。いくつかの.NETルーチンを呼び出すC++/ CLIライブラリを作成し、純粋なネイティブC++アプリから呼び出すことができる1つの静的メソッドを公開します。ネイティブアプリからそのlibに静的にリンクしたい。ネイティブC++アプリが呼び出すメソッドのシグネチャは次のようになります。
void (unsigned char* data, int length, _TCHAR* args[])
私は一般的にC++/CLIとC++にかなり慣れていません。だから、私を助けてこれらの質問に答えてくれませんか:
私の小さなC++/ CLIプロジェクトでは、タイプは、出力としてlibを使用し、vc9ランタイムを対象とするクラスライブラリである必要があると想定しています(エンドユーザーのPCで確実に使用できるようにするため)。私はこの仮定で正しいですか?
C ++/CLIプロジェクトで記述する必要のあるその署名を持つメソッドの概要の例を教えてください。特に、CLRタイプ(つまり、byte []、int32、およびstring)への変換を適切に行うにはどうすればよいですか?そして、そのメソッドを「extern "C" __declspec(dllexport)」のようなもので装飾して、このメソッドをネイティブC ++アプリから呼び出し可能にするにはどうすればよいですか?
C ++ / CLIのcppファイルとhファイルの間でコードを適切に分離するにはどうすればよいですか?
最後に、lib参照を追加したら、ネイティブアプリから実際にどのように呼び出すのでしょうか。
ありがとうございました。