DLLImportを使用してC++コードをC#から呼び出すことができるすべての例は、intsを前後に渡します。私はそれらの例をうまく動作させることができます。私は呼び出しが必要なメソッドは、そのインポートパラメータとして2つの構造体を取る、と私はこの仕事をどのようにすることができますはっきりとは分かりません。私はC++のコードを所有C#でDLLImportを構造体のパラメータとして使用するにはどうすればよいですか?
ので、私は私がする必要があること、それに変更/追加を行うことができます。ここでは
私はで動作するように持っているものです。
サードパーティのアプリケーションが起動時にDLLを読み込み、DLLExportが特定の方法で定義されることを期待しているため、エクスポートされたメソッドシグネチャを実際に変更することはできません。
ビルドされているC#アプリはラッパーとして使用されるので、このC++ピースを他のアプリケーションに統合することができます。これらのアプリケーションはすべてC#で書かれています。
私が呼び出す必要がC++メソッドのシグネチャは、この
DllExport int Calculate (const MathInputStuctType *input,
MathOutputStructType *output, void **formulaStorage)
のように見え、MathInputStructTypeは、あなたが投稿宣言から次
typedef struct MathInputStuctTypeS {
int _setData;
double _data[(int) FieldSize];
int _setTdData;
} MathInputStuctType;
ありがとうございました。これは、コードを動作させるのに十分な理解を得ました。 –