最新时间相对比较空闲,刚好又在使用新的技术,想来无事,便来记录下自己剖析Lua源码的过程。
先来一篇比较简单的,cocos2dx Lua代码如何输出Log。
主要是在LuaStack.cpp 的Init 函数里,将c代码lua_print 与lua_release_print 注册到LuaState的全局函数中。
代码如下:
const luaL_reg global_functions [] = {
{"print", lua_print},
{"release_print",lua_release_print},
{nullptr, nullptr}
};
luaL_register(_state, "_G", global_functions);
这样Lua代码中,可以使用注册的print 或者release_print 进行打印Log了。
注意:c代码的 lua_print 或者 lua_release_print 最终调用 cocos2dx 的Log 进行日志输出的。