如何将objc_msgSend包装为以va_list的形式获取可变参数?

时间:2017-01-10 15:20:56

标签: objective-c variadic-functions

而不是:

id objc_msgSend(id self, SEL _cmd, args...)

我想:

id objc_msgSend(id self, SEL _cmd, va_list args)

现在我意识到,由于Mike Ash讨论here的原因,objc_msgSend 不是以第二种方式实施。

但我正在开发一个带有ObjC桥接的运行时解释器,无论如何我都喜欢它,不管性能影响如何。

现在,任何理智的人都会说:

  

为什么不使用libffi

那是因为libffi在macOS和iOS上已经过时了;已经有一段时间了(截至写这篇文章)。

objc_msgSend是否有一些预先存在的包装器需要va_list?我似乎无法找到一个,不幸的是,在这个时候,缺乏必要的装配技能来发展我自己。

0 个答案:

没有答案