emscripten的对齐方式允许什么,什么不对齐?
我猜一个int应该有一个低2位== 0的地址。
char怎么样?它的地址是否应该还有两位== 0?或者它可以在所有地址?
double或int64_t怎么样?最低两位== 0是否足够或应该是最低3位== 0?
答案 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位浮点数完成。