1

我正在尝试编译一个最初为 Cocoa 编写的库。在它寻找函数 marg_setValue() 之前,一切都很好。它说在 char in 之前有语法错误

marg_setValue(argumentList,argumentOffset,char,(char)lua_toboolean(state,luaArgument));

(这是在谈论第三个论点,而不是 (char) )

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

4

2 回答 2

1

检查是否可以摆脱marg_XXX宏:

  • 它们已被弃用并且不被认为是可靠的。
  • marg_list将与objc_msgSendv现代运行时不存在的一起使用。

我建议使用NSInvocation。它使用起来非常简单,并且功能强大,足以用作桥梁。检查此条目的完整性。

于 2010-05-13T19:19:04.483 回答
0

现代的 Objective-C ABI/API 在 Cocoa Touch 上可用。它缺少 32 位桌面运行时的一些遗留特性(即,那些极其脆弱的特性)。

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

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

于 2010-05-12T23:46:16.897 回答