gpt4 book ai didi

c - 网络编程/消息框架

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:31 25 4
gpt4 key购买 nike

我有一个关于网络编程消息框架的简短问题:

您经常看到定义 MAGIcflags和相应位掩码以检索它的实现。

header 可能包含其他消息相关信息,用逻辑或翻转位。

各种实现使用 (header & MASK) == MAGIC 检查魔法标志。

分离这些关注点有什么好处?

您也可以这样做:(header & MAGIC) == MAGIC。

最佳答案

简单的例子:

MASK   = 0x000F
MAGIC = 0x0001
header = 0x0005

然后 (header & MASK) == MAGIC 检查在 MASK 中设置的所有位(此处为低 4 位)是否具有与相应位相同的值在魔法中。这是不正确的示例 header 。

另一方面,(header & MAGIC) == MAGIC 仅检查 MAGIC 中设置的所有位是否也在 header 中设置,为真 在这个例子中。

在您的示例中,header = 0xFFFF 将通过测试 (header & MAGIC) == MAGIC,但不是测试 (header & MASK) == MAGIC

当然如果MASK == MAGIC也没有区别。

关于c - 网络编程/消息框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com