是否有可能从Objective-C获得中间C代码?

正如我所理解的那样,除了Objective-C语言是“干净”C的严格超集之外,添加的OOP范例是通过Objective-C Runtime Reference中部分描述的一组函数来模拟的。

因此,我希望有可能以某种方式在中间C / C ++文件中编译Objective-C代码(可能有一些asm插入)。

一般可能吗?

您可以使用clang重写器转换为C ++。 虽然不知道去C的方法。

重写器可通过“-rewrite-objc”命令行选项获得。

据我所知,没有软件将Objective-C代码预处理为中间C代码。

但是你可以通过直接调用Objective-C运行时来完全用C编写Objective-C程序。 问题在于代码可能在实现之间变化,甚至可能在同一运行时的不同版本之间变化。

问题是,它真的值得麻烦吗?