iPhone上的Lua-Objective-C桥接工具

我已经部分移植了 LuaObjCBridge 到 iPhone 上。大部分功能都可以使用,但仍有一些问题需要解决。

有些部分会根据英特尔或 Ppc 进行 #define 的定义。ARM 芯片更接近于 Intel 还是 Ppc 呢?

下面是最相关的部分,在这里定义了大部分内容:

#if defined(__ppc__)||defined(__PPC__)||defined(__powerpc__)
    #define LUA_OBJC_METHODCALL_INT_IS_SHORTEST_INTEGRAL_TYPE
    #define LUA_OBJC_METHODCALL_PASS_FLOATS_IN_MARG_HEADER
    #define LUA_OBJC_POWER_ALIGNMENT
#elif defined(__i386__)||defined(__arm__)
    #warning LuaObjCBridge is not fully tested for use on Intel chips.
    #define LUA_OBJC_METHODCALL_RETURN_STRUCTS_DIRECTLY // Use this or the code was crashing for me for structs LUA_OBJC_METHODCALL_RETURN_STRUCTS_DIRECTLY_LIMIT
    #define LUA_OBJC_METHODCALL_USE_OBJC_MSGSENDV_FPRET
    #define LUA_OBJC_METHODCALL_RETURN_STRUCTS_DIRECTLY_LIMIT 8
    #define LUA_OBJC_INTEL_ALIGNMENT
#endif

目前,我将 armi386 添加在一起,但我可能是错误的。

原文链接 https://stackoverflow.com/questions/2799630

点赞
stackoverflow用户23028
stackoverflow用户23028

我可以提供你一个链接 [objc explain]: objc_msgSend_fpret,它应该能让你对一些东西有一些了解,比如 LUA_OBJC_METHODCALL_USE_OBJC_MSGSENDV_FPRET。

2010-05-10 02:29:02