Lua:chunk数据类型
Lua 5.3.4
1. 数字
| 数据类型 | C语言类型 | Go语言类型 | 占用字节 |
|---|---|---|---|
| 字节 | Lu_Byte(unsigned char) | Byte | 1 |
| C语言整型 | int | uint32 | 4 |
| C语言size_t类型 | size_t | uint64 | 8 |
| Lua整型 | lua_Integer(long long) | int64 | 8 |
| Lua浮点型 | lua_Number(double) | float64 | 8 |
字节:一般用来存放一些比较小的整数值,如Lua版本,函数参数等。
C语言整型:一般用来存放列表长度。
C语言size_t类型:一般用来存放长字符串长度。
Lua整形和Lua浮点型:一般在常量表里出现,记录Lua脚本中出现的整数和浮点数字面量。
2. 字符串
- NULL字符串:0x00。
- 长度小于等于253(0xFD),第一个字节记录len+1后面跟字符串的二进制。
- 长度大于等于254(0xFE)的字符串,第一个字节是0xFF,后面跟一个size_t记录长度+1,最后是字符串的二进制。
3. 列表
先用一个cint类型记录列表长度,紧接着存储n个列表元素。
4. 参考
- 《自己动手实现Lua虚拟机、编译器和标准库》张秀宏
Lua数据类型详解
本文深入解析Lua中的数据类型,包括数字、字符串、列表等,并详细介绍了它们在内存中的表示方式及应用场景。对于理解Lua脚本语言及其运行机制具有重要价值。
1729

被折叠的 条评论
为什么被折叠?



