在iPhoneOS中寻找marg_setValue修复程序

时间:2010-05-12 23:19:46

标签: objective-c cocoa cocoa-touch lua objective-c-runtime

我正在尝试编译最初为Cocoa编写的库。在找到函数marg_setValue()之前,事情是好的。它表示在

中的char之前存在语法错误
marg_setValue(argumentList,argumentOffset,char,(char)lua_toboolean(state,luaArgument));

(它在讨论第三个参数,而不是(char))

我正在尝试将LuaObjectiveCBridge移植到iPhone上。它有两种选择,使用Runtime或Foundation。我发现基础有一些问题所以我正在尝试运行时。但是编译器没有合作。

2 个答案:

答案 0 :(得分:1)

检查您是否可以删除marg_XXX宏:

  • 他们被弃用,不被视为可靠。
  • marg_list将与objc_msgSendv一起使用,而现代运行时缺少该{{1}}。

我建议使用NSInvocation。它使用起来非常简单,而且足够强大,可以用于桥接。检查this entry是否完整。

答案 1 :(得分:0)

现代Objective-C ABI / API可在Cocoa Touch上使用。它缺少32位桌面运行时的一些遗留功能(即那些非常脆弱的功能)。

marg_setValue()和朋友是Objective-C 2.0不支持的遗留运行时的一部分。无论如何,它总是被打破了。你没有错过多少。

真正的问题是:你想做什么?