【问题标题】:(Lua+iOS) Error to use lua_pushstring(Lua+iOS) 使用 lua_pushstring 时出错
【发布时间】:2012-07-23 21:41:49
【问题描述】:
==============
Info Develope:
MacOS 10.6 SnowLeopard
iOS SDK 5.0
FreePascal 2.6.0 for MacOS X
FreePascal 2.6.0 for iOS
XCode 4.2
Device: iPad
Lua: Object library = liblua.a (ver 5.14) 
==============

代码:

A) lua_pushnumber(LuaInstance, 5);
B) lua_pushstring(LuaInstance, 'TEST');
C) lua_pushlstring(LuaInstance, 'TEST', 4);

问题:当我使用变体“B”和“C”并在我的 iPad 上启动项目时,应用程序在启动时闪烁并关闭并出现下一个错误:

(iPad) 控制台日志中的错误:

Exited with code: 217
<Warning> Application 'demo1' exited abnormally with exit status 217

对于变体“A”,一切正常,应用程序启动正常。

有趣的是,当我在模拟器上编译和启动时,所有变体(“A”、“B”、“C”)都可以正常工作,而不会崩溃。

谁能知道为什么,lua_pushstring 设备上的应用程序崩溃?

可能有人在没有 freepascal 的情况下处理过这个问题,可能是在 c++ 上。 请帮帮我。

【问题讨论】:

    标签: iphone ios lua fpc


    【解决方案1】:

    我注意到,当我将 printf 添加到 func lua_pushlstring 时,问题已解决。为什么?

    LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) {
      lua_lock(L);
      luaC_checkGC(L);
      printf ("Test= %s ", s);  
      setsvalue2s(L, L->top, luaS_newlstr(L, s, len));
      api_incr_top(L);
      lua_unlock(L);
    }
    

    链接 liblua.a 时可能发生地址冲突?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 2016-08-04
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      相关资源
      最近更新 更多