【发布时间】:2011-04-22 10:03:06
【问题描述】:
我正在尝试编写一个用于与网络协议通信的接口,但 IEEE 文档在位级别描述了该协议,并将信息拆分为单个字节。
处理 C 类型定义的最佳方法是什么,例如
typedef struct {
Nibble transportSpecific;
Enumeration4 messageType;
UInteger4 versionPTP;
UInteger16 messageLength;
UInteger8 domainNumber;
Octet flagField[2];
Integer64 correctionfield;
PortIdentity sourcePortIdentity;
UInteger16 sequenceId;
UInteger8 controlField;
Integer8 logMessageInterval;
} MsgHeader;
将兼容层移植到 .Net 时?
【问题讨论】:
-
我认为您无法在 dotnet 中获得如此小的数据类型...您可能必须在 C 中创建一个消息传递程序才能将 dotnet 值实际转换为您的 其他的 C程序可以看到...
-
@Frosty:
[FieldOffset] -
和@SLaks 再次这样做。我的朋友有什么你不知道如何在 C# 中争吵的吗?
-
@drachenstern:不幸的是,是的。 stackoverflow.com/questions/263276/… 和 stackoverflow.com/questions/2134391/…(在 Vista 中)。
-
大声笑,我知道我知道......但你总是那么准,而且速度很快。
标签: .net data-structures porting