【发布时间】:2013-10-17 18:25:09
【问题描述】:
plz,我需要有关如何将 c# 中的等效代码与 c/c++ 中的任何宏代码作为此宏的帮助。
#define BYTESWAP16(x) \
((((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00))
#define BYTESWAP32(x) \
((((x) >> 24) & 0x000000FF) | (((x) >> 8) & 0x0000FF00) | \
(((x) << 8) & 0x00FF0000) | (((x) << 24) & 0xFF000000))
#define ntohs(x) BYTESWAP16(x)
#define htons(x) BYTESWAP16(x)
#define ntohl(x) BYTESWAP32(x)
#define htonl(x) BYTESWAP32(x)
【问题讨论】:
-
如果 C# 不支持宏,则使用传递引用。
-
C# 不支持宏。
-
一:为什么要用宏?有功能。二、这是重复的:ntohs() and ntohl() equivalent?
-
静态 uint BYTESWAP16(uint x) { return ((x >> 8) & 0x00FF) | ((x