作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 C++ 中得到了一个结构,想在 C# 中使用它。几个月以来,它运行良好。现在,我稍微更改了结构,但一切都不再起作用:
附上C++定义的结构体:
typedef struct TCell{
struct TPoint P;
struct TFace** ppFace;
struct TNode** ppNode;
double Volume;
unsigned int nFace;
unsigned int nNode;
unsigned long Index;
unsigned long Index2;
struct TFamily* pFamily;
}TCell;
在 C# 中附加结构:
[StructLayout(LayoutKind.Sequential)]
public struct TCell
{
public TPoint P;
public TFace** ppFace;
public TNode** ppNode;
public double Volume;
public UInt16 nFace;
public UInt16 nNode;
public UInt32 Index;
public UInt32 Index2;
public TFamily* pFamily;
}
注释变量 nNode
和 ppNode
,一切正常。取消注释此变量,C# 在请求 nNode
时显示 Index
的值。
在 C++ 中输出是正确的。
我使用的是 Visual Studio Express 2015。
sizeof(TCell)
在 C# 和 C++ 中返回 72
有什么想法吗?
非常感谢。
最佳答案
您在 C++ 中有 unsigned int
,但在 C# 中有 UInt16
。您可能打算使用 UInt32
。
关于c# - 结构 - System.Runtime.Interoptservice C++ 与 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34322242/
我在 C++ 中得到了一个结构,想在 C# 中使用它。几个月以来,它运行良好。现在,我稍微更改了结构,但一切都不再起作用: 附上C++定义的结构体: typedef struct TCell{
我是一名优秀的程序员,十分优秀!