gpt4 book ai didi

c - 在这种情况下使用 uint64_t 是一种不好的做法吗?

转载 作者:行者123 更新时间:2023-12-03 11:51:44 24 4
gpt4 key购买 nike

我最近一直在玩 C 套接字,我设法在客户端和服务器之间交换文件。但是我偶然发现了这个问题:在我的 mac(64 位)和树莓派(32 位)之间发送文件大小时,它会因为 size_t 而失败。两者之间是不同的。我通过切换到 uint64_t 解决了.

  • 我想知道,用它代替 size_t 是不是一种不好的做法? ,它在 fread()、fwrite()、read()、write()、stat.size 的所有原型(prototype)中定义?
  • uint64_t在树莓派上会变慢吗?
  • 最佳答案

    这不仅是一种好的做法,而且最终是必要的。如果不定义数据的格式和大小,并想出可移植的方式来解释它,就无法在不同架构的不同计算机之间交换数据。这些固定宽度的类型实际上就是为此目的而设计的。

    使用 uint64_t 会不会更慢?比 uint32_t在 32 位平台上?可能是。明显吗?怀疑。但是你可以测量它并找出答案。

    不要忘记 account for differences in endianness , 也。

    关于c - 在这种情况下使用 uint64_t 是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40653914/

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