我想讓lua 5.1執行一個只是調用我的一個C++函數的行"Assail"
我不明白爲什麼它不起作用,任何人都可以指出錯誤嗎?lua沒有在做字符串
這是攻擊功能:
static int Assail(lua_State *L)
{
cout << "test" << endl;
return 1;
}
我想打電話給do_string
這樣的:
L = lua_open();
luaL_openlibs(L);
lua_register(L, "Assail", Assail);
luaL_dostring(L, "s = Assail()");
lua_close(L);
任何幫助表示讚賞。
出了什麼問題?無論如何,請檢查'luaL_dostring'的返回碼。最後,請注意'Assail'應該可能返回0,因爲它不會將任何東西壓入堆棧。令人驚訝的是,嘗試's = Assail(10,20);打印(S)'。 – lhf