[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Print address of string in Lua
- From: Rob Kendrick <rjek@...>
- Date: Thu, 15 Dec 2011 12:55:10 +0000
On Thu, Dec 15, 2011 at 06:20:23PM +0530, rahul sharma wrote:
> Hi, I want to print the starting address of string in Lua. So is there any
> way using which I can do that? for ex:-
>
> x="abc"
>
> Now I want to print the address where abc is stored. So is there any way to
> do it?? I will then pass this x to a c program and then try to print the
> address of x received to see that lua doesnot copy string but uses
> reference to the base address.
>
> So is there any method to do that???
The C function lua_tostring will return a const char * of a string. You
should note that Lua strings can contain NUL, unlike C strings. Also,
you should probably be very careful with the returned pointer, as it may
vanish if the string gets collected.
Also, Lua always copies strings for its own use; it interns them so only
one copy of each string is ever kept by Lua, also allowing for string
equality comparisons to be O(1).
Can I ask why you want to know / do this?
Documentation for function call:
http://www.lua.org/manual/5.1/manual.html#lua_tostring
B.