将字符串指针传递给lua

时间:2018-02-18 13:36:43

标签: c pointers lua

我在C中有很长的字符串,我希望将它传递给lua函数。但是因为字符串很长我不想传递它,我希望将字符串传递给lua。我这样做是通过使用lua_pushlightuserdata但在Lua中我不能使用这个指针。

C代码:

<H1>Data get</H1>
<div *ngFor="let d of dataGet">
  {{d.id}}
  {{d.name}}
  {{d.age}}
</div>

Lua代码:

char* st = "abcdefghijklmnopqrstuvwxyz1234567890";
lua_getglobal(myLuaState,"kk");
lua_pushlightuserdata(myLuaState,st);
lua_pcall(myLuaState, 1, 0, 0);

代码的结果是:

function kk(a)
    print(a)
end

1 个答案:

答案 0 :(得分:0)

你可以在Luajit中使用ffi

function kk(a)
    local ffi = require("ffi")
    s = ffi.string(a)
    print(s)
end

结果是:

abcdefghijklmnopqrstuvwxyz1234567890