假设我有一个C程序想要用两个字符串调用一个非常简单的Lua函数(假设两个逗号分隔的列表,如果列表相交则返回true,否则返回false).
显而易见的方法是使用lua_pushstring将它们推送到堆栈上,但是,从文档看起来像lua_pushstring可以正常工作,但是为Lua创建了一个字符串的副本.
这意味着要交叉到Lua函数将需要两个字符串副本,我可以通过重写C中的Lua函数来避免.有没有办法安排事情,以便现有的C字符串可以在Lua端重用表演的缘故(或者说,无论如何,strcpy的成本都会变得微不足道)?
从我到目前为止的调查(我的前几个小时认真看待Lua),lite userdata看起来像我想要的东西,但是以字符串的形式.