我選擇Lua 5.1作爲我的應用程序的嵌入式腳本語言,但是 當我將應用程序移植到傳統平臺時,在PowerPC上運行LynxOS, 的事情似乎出錯了。Lua在PowerPC/LynxOS平臺上表現怪異,爲什麼?
我得到下面的代碼在PC機上跑上跑每一件事情看起來不錯:
void test_lua()
{
const char *code = "foo = 5\n";
double vfoo=0;
lua_State *L = luaL_newstate();
(void)luaL_loadbuffer(L, code, strlen(code), "line");
(void)lua_pcall (L, 0, 0, 0);
lua_getglobal(L, "foo");
vfoo = lua_tonumber(L, -1);
lua_close(L);
myTrace("vfoo = %f", vfoo);
for(;;);
}
與PC(的Visual C++ 6.0)我有期待 「vfoo = 5.000000」
但隨着的LynxOS/PowerPC的我得到「vfoo = 0.000000」。
那麼,在LynxOS/PowerPC上發生了什麼?我想知道是否有一些配置 大端機,我在「luaconf.h」找了它,但什麼也沒找到。我也試過配置項「LUA_USE_POSIX」,但沒有幫助。
我知道這不是一個典型的lua編程平臺。但是,任何建議,歡迎和不勝感激。
該代碼似乎是正確的。我建議你檢查'luaL_loadbuffer'和'lua_pcall'的返回值並在'lua_getglobal'後面打印'luaL_typename(L,-1)'。 – lhf