Распечатать адрес строки в Lua - PullRequest
1 голос
/ 15 декабря 2011

Я хочу напечатать начальный адрес строки в Lua.Так есть ли способ, с помощью которого я могу это сделать?например: -

x = "abc"

Теперь я хочу напечатать адрес, где хранится abc.Так есть ли способ сделать это?Затем я передам этот x программе C и затем попытаюсь напечатать полученный адрес x, чтобы убедиться, что lua не копирует строку, а использует ссылку на базовый адрес.что?

1 Ответ

3 голосов
/ 15 декабря 2011

Нет способа получить адрес строки в Lua.

Возможно, потому что в этом нет необходимости.Строки в любом случае усваиваются.Таким образом, каждая строка находится в памяти ровно один раз.Присвоение строкового литерала переменной проверяет хеш-таблицу, используемую для хранения строк для строки.Если не найдено, строка добавляется, и переменная получает ссылку на загруженную строку.Если он найден, он просто получает ссылку на существующую строку. Детали реализации Lua 5.0 , обработка строк не сильно изменилась в IRC 5.1.

Это напрямую отвечает на вопрос, для которого он вам нужен, нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...