在lua中是否可以像在C中那样做位域?
struct a =
{
uint8 var1 : 5;
uint8 var2 : 3;
};
Lua作为一种语言通常不适用于低级位域操作很常见甚至不常见的场景。因此,它没有语言功能来做这种事情。
现在,Lua 5.3 直接支持整数作为伪非重复类型,具有直接位操作的方法。因此,您可以实现与位域相同的效果。但是没有好的,简单的语法。需要节省内存或直接访问二进制数据格式(位字段的两种主要用途(的场景对于 Lua 的预期用例来说不够常见,不值得使用特殊语法。