【问题标题】:Is c sizeof() function dependent on the host computer?c sizeof() 函数是否依赖于主机?
【发布时间】:2019-09-28 22:04:16
【问题描述】:

sizeof() 函数是否依赖于主机。如果你在 Linux 计算机上使用 sizeof(structure) 并返回 4 个字节,如果你在不同的操作系统中编译程序,结果会改变吗?

交叉编译会解决这个问题吗?假设如果您在 Linux 上编译并且不将其移动到不同的操作系统,则假设您期望 4 个字节,而是在您的系统上交叉编译它,而不是将其移动到其他操作系统。那个时候包裹的大小不是一样吗?

【问题讨论】:

标签: c cross-compiling sizeof


【解决方案1】:

是的,当然结构的大小可以根据操作系统而改变 这是使用 sizeof() 确保您在不同操作系统上获得相同功能的主要原因之一。

【讨论】:

  • 硬件和操作系统会影响选择,但最终决定是由 C 实现。人们可能会设计一个 C 实现来支持在新硬件上运行时为某些旧系统编写的软件,其结构将反映旧系统的设计,而不是当前系统。
猜你喜欢
  • 2017-09-01
  • 1970-01-01
  • 2010-11-04
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 2019-02-02
  • 2018-07-22
  • 1970-01-01
相关资源
最近更新 更多