0
我有設定爲__stdcall(/ GZ)調用約定一個C++項目X和C#項目Y.嘗試讀取/寫入受保護的存儲器錯誤而pinvoking C++函數
我已經在定義的類myClass的BOTH這些項目。
class myClass
{
private:int mem1;
};
在類的C#定義,我曾與
[StructLayout(LayoutKind.Sequential)]
的C++函數前綴是
_declspec (dllexport) void getLen(myClass* str)
{
printf("%s",sizeof(int));
}
在Y,I所定義的函數,如下所示
[DllImport("X.dll")]
private static extern void getLen(ref myClass str);
而且我cal如下所示:
getLen(ref str);
其中str是myClass類型的對象。
爲什麼運行此解決方案時會出現此錯誤?
好的,我覺得真的很愚蠢。有效。謝謝!我的禁忌沒有錯。 –