- 论坛徽章:
- 0
|
- #include <stdio.h>
- #include "lua.h"
- #include "lualib.h"
- #include "lauxlib.h"
- static int panic(lua_State *state) {
- printf("PANIC: unprotected error in call to Lua API (%s)\n",
- lua_tostring(state, -1));
- return 0;
- }
- static int test(lua_State *state) {
- printf("in test\n");
- printf("yielding\n");
- return lua_yield(state, 0);
- }
- int main(int argc, char *argv[]) {
- char *name = NULL;
- name = "co.lua";
- lua_State* L1 = NULL;
- L1 = lua_open();
- lua_atpanic(L1, panic);
- luaL_openlibs( L1 );
- lua_register(L1, "test", test);
- lua_State* L = lua_newthread(L1);
- luaL_loadfile(L, name);
- lua_resume(L, 0);
- printf("sleeping\n");
- sleep(1);
- lua_resume(L, 0);
- printf("after resume test\n");
- return 0;
- }
复制代码 搞定. |
|