gpt4 book ai didi

c++ - ntohl() 的跨平台版本? - C++

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

我正在编写一个跨平台客户端,在提取使用的文件中,它对每个文件使用 IEEE 802.3 以太网 CRC-32 校验和。我像这样对所有文件运行此检查:

if(s3d_meta_block.crc != 0x61580AC9)
{
errorLog.writeError("File %i is not a valid file/ or is the directory", i);
}

它最终在每个文件上都失败了,我发现它在类似客户端的其他地方用 ntohl(0x61580AC9) 编写。

我正在 64 位 Windows 上编写此代码,理想情况下它可以在每个平台上运行,而不必包含“Winsock2.h”和其他涉及反转字节顺序的库。

谢谢!

最佳答案

ntohl() 包含在许多平台上,并且会/不会根据处理器对齐的需要交换位。您在代码中可能唯一需要的是 #def 以包含此功能的正确头文件(我从未见过没有它的操作系统)

关于c++ - ntohl() 的跨平台版本? - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753994/

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