我选择 Lua 5.1 作为我的应用程序的嵌入式脚本语言,但是当我将应用程序移植到在 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 上的 Lua 发生了什么?我想知道大端机器是否有一些配置,我在“luaconf.h”中寻找它,但什么也没找到。我也尝试了配置项“LUA_USE_POSIX”但没有帮助。
我知道这不是 lua 编程的典型平台。但是,欢迎提出任何建议并予以赞赏。