【发布时间】:2011-12-15 12:45:27
【问题描述】:
我想在 Lua 中打印字符串的起始地址。那么有什么方法可以让我做到这一点吗?例如:-
x = "abc"
现在我想打印存储 abc 的地址。那么有什么办法可以做到吗?然后我会将这个 x 传递给 C 程序,然后尝试打印收到的 x 的地址,以查看 lua 没有复制字符串,而是使用对基地址的引用。
那么有什么方法可以做到吗?
【问题讨论】:
标签: lua
我想在 Lua 中打印字符串的起始地址。那么有什么方法可以让我做到这一点吗?例如:-
x = "abc"
现在我想打印存储 abc 的地址。那么有什么办法可以做到吗?然后我会将这个 x 传递给 C 程序,然后尝试打印收到的 x 的地址,以查看 lua 没有复制字符串,而是使用对基地址的引用。
那么有什么方法可以做到吗?
【问题讨论】:
标签: lua
Lua 中无法获取字符串的地址。
可能是因为没有必要。无论如何,字符串是内化的。所以每个字符串在内存中只存在一次。将字符串文字分配给变量会检查用于存储字符串的哈希表。如果未找到,则添加字符串,并且变量获取对已加载字符串的引用。如果找到,它只会获取对现有字符串的引用。 Implementation details of Lua 5.0,字符串处理在 5.1 IRC 中没有太大变化。
这直接回答了您需要它的问题,不是吗?
【讨论】: