【发布时间】:2014-11-07 14:29:21
【问题描述】:
假设我想将一个 mac 应用程序(用 c++ 编写)移植到 iOS,都是 32 位的。
我可以简单地假设数据类型(int、long、float...)大小相同吗?
谢谢,
【问题讨论】:
-
顺便说一句,关于这个主题的有趣读物是问题What does the C++ standard state the size of int, long type to be?的答案。
假设我想将一个 mac 应用程序(用 c++ 编写)移植到 iOS,都是 32 位的。
我可以简单地假设数据类型(int、long、float...)大小相同吗?
谢谢,
【问题讨论】:
不,你不能指望它们是一样的。 AFAIK 它们实际上是在这种情况下,但如果您依赖特定大小的变量,则需要使用标准类型,如 uint32_t,以避免在不同系统上编译时出现任何问题。
请注意,从 2015 年 2 月开始,Apple 要求您还提供 64 位版本,因此即使您暂时忽略大小问题,您也必须在以后修复它。
【讨论】: