我正在研究一个C++源代码分析器项目,看起来clang很适合解析工作.问题是clang在很大程度上取决于基础设施"llvm"项目,如何配置它以获得干净的前端而没有任何具体的机器导向后端?就像LCC一样,它们为专注于解析器部分的人提供了"空"后端.任何建议表示赞赏.
我选择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(;;);
}
Run Code Online (Sandbox Code Playgroud)
用PC(Visual C++ 6.0)我期待"vfoo = 5.000000"
但是对于LynxOS/PowerPC,我得到了"vfoo = 0.000000".
那么Lua在LynxOS/PowerPC上发生了什么?我想知道是否有一些big-endian机器的配置,我在"luaconf.h"中查找它但却一无所获.我也尝试了配置项"LUA_USE_POSIX"但没有帮助.
我知道它不是lua编程的典型平台.但是,欢迎任何建议,并表示赞赏.