基本上我不知道该怎么做:
lua_pushcfunction(L, int func(lua_State* L) {
printf("hello");
return 0;
});
我尝试了很多东西,但不仅有用
答案 0 :(得分:2)
两种方式:
定义函数,然后按下它。
int func(lua_State* L) {
printf("hello");
return 0;
};
// later...
lua_pushcfunction(L, func);
这是在C中或C ++ 11之前的唯一方法。
使用lambda表达式(又名匿名函数):
lua_pushcfunction(L, [](lua_State* L) -> int {
printf("hello");
return 0;
});