Emscripten允许不同数据类型的对齐

时间:2016-02-16 17:28:55

标签: alignment emscripten

emscripten的对齐方式允许什么,什么不对齐?

我猜一个int应该有一个低2位== 0的地址。

char怎么样?它的地址是否应该还有两位== 0?或者它可以在所有地址?

double或int64_t怎么样?最低两位== 0是否足够或应该是最低3位== 0?

1 个答案:

答案 0 :(得分:0)

我的一位朋友告诉我: 要求是遵循类型的标准C对齐规则。其中说每种类型应该在一个地址上对齐,该地址是所讨论类型大小的倍数。

https://en.wikipedia.org/wiki/Data_structure_alignment#Typical_alignment_of_C_structs_on_x86

浮点数始终存储为emscripten中的32位浮点数。 -s PRECISE_FP32 = 0或2只进行64位计算,但存储仍然以32位浮点数完成。