【发布时间】:2015-11-09 21:07:11
【问题描述】:
lua_newuserdata 如何对齐分配的内存?它依赖于 malloc/calloc,还是它自己做的事情?有什么方法可以保证对齐而不需要为此添加代码?
自己编写对齐代码不是问题,但如果不需要,那我当然不想这样做。
【问题讨论】:
-
Lua 好像使用了标准的 C realloc() 函数,并没有进行额外的对齐。
-
谢谢,那我自己写对齐代码。
-
实际上,Lua 确实对用户数据的有效负载进行了对齐。你不能得到比分配器给你更多的对齐,但你可以得到更少。参见the definition of userdata,尤其是
L_Umaxalign。后者还允许您更改对齐方式。
标签: memory lua alignment allocation