lua和c互调 参数传递

int main (int argc, char **argv) {
    lua_State *L = luaL_newstate();
        //加载库
        luaL_openlibs(L);
        dofile(L,"app.lua");


        lua_getglobal(L,"getString");
        //把参数放入栈中
        lua_pushstring(L,"ZhangSan");
        //lua_call(lua_State* L,int nargs,int nreturns)
        //1:lua_State* 2:参数数量  3:返回值数量
        //lua_call会清空栈,把返回值放入栈中
        lua_call(L,1,1);
        if(lua_isstring(L,-1)){
            printf("%s\n",lua_tostring(L,-1));
        }

        lua_pop(L,1);
        lua_close(L);
        return 0;
}

app.lua

version = 2.1
name = "lua"

people={name="ZhangSan",age=20,com="eoe"}


function getPeopleInfo()
    return people.name,people.age
end


local name,age = getPeopleInfo();
--print(name,age);

function main()
    print("Hello Lua")
end

function getString(name)
    return "Hello "..name
end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值