在Lua中打印字符串的地址

时间:2011-12-15 12:45:28

标签: lua

我想在Lua中打印字符串的起始地址。那么我有什么方法可以做到这一点吗?例如: -

x = "abc"

现在我要打印存储abc的地址。那有什么办法吗?然后我将这个x传递给一个C程序,然后尝试打印收到的x的地址,看看lua没有复制字符串但是使用了对基址的引用。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

无法在Lua中获取字符串的地址。

可能是因为没有必要。无论如何,字符串内化。所以每一个字符串都在内存中只有一次。将字符串文字分配给变量会检查用于存储字符串字符串的哈希表。如果未找到,则添加字符串,变量将获取对已加载字符串的引用。如果找到,它只会获得对现有字符串的引用。 Implementation details of Lua 5.0,字符串处理在5.1 IRC中没有太大变化。

直接回答了你需要它的问题,不是吗?