在我的 c# main 中,我做了
myStruct ret_vals;
IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(ret_vals));
Marshal.StructureToPtr(ret_vals, ptr, false);
MyStruct 有一个指向另一个结构的指针。根据 Intelllisense(编译错误),我的 C++ dll 函数需要一个指向 MyStruct 的指针,而不是一个 IntPtr。以下不会编译
DoAT.atClass1 cl = new DoAT.atClass1();
cl.read_file( ptr);
顺便说一句,我的 c++ 函数被声明为
public ref class atClass1
{
public:
int read_file(MyStruct & ret_vals) ;
};
建议表示赞赏。