-4

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)
4

2 回答 2

6

您可以使用IPAddress.HostToNetworkOrderIPAddress.NetworkToHostOrder来执行这些操作。这些都内置在框架中。

于 2013-10-17T18:31:47.673 回答
0

您可以使用静态方法定义一个密封的抽象类,这些方法的作用与您的宏相同。

于 2013-10-17T18:29:52.523 回答