我有一个C++ .dll (无法更改代码),我试图从它调用一个函数,该函数接受一个Struct类型的引用参数(也是在.dll中定义的)。但是,我没有收到任何封送处理错误,但是,库调用返回一个错误代码,调试日志显示它正在接收两个字符串字段的空字符串(有关字段的设置方式,请参见下文)。我的假设是,此结构的大小在托管和非托管表示之间不对齐,因此该结构是不可闪烁的。+ c
我在C++中有一组数字库,我想用一种解释语言(如F#或IronPython )交互地调用它们。在本机DLL中编译库,并使用PInvoke调用其中的函数。使用visual C++ (/clr:pure编译选项)将c++库编译成.Net dll。1的优点是它非常快,但是有更多的工作要做,例如我不能PInvoke双指针(例如浮点数**),我必须在C++库中编写另