是否可以从 Objective-C 获得中间 C 代码?
据我正确理解,除了 Objective-C 语言是“干净的”C 语言的严格超集这一事实之外,添加的 OOP 范式是由一组在 Objective-C 运行时参考。
因此,我期望能够以某种方式在中间 C/C++ 文件中编译 Objective-C 代码(可能带有一些 asm 插入)。
一般情况下可以吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 clang 重写器转换为 C++。但不知道如何去C。
重写器可通过“-rewrite-objc”命令行选项使用。
You could use the clang rewriter to convert to C++. Not aware of a way to go to C though.
The rewriter is available via the "-rewrite-objc" command line option.
据我所知,还没有软件可以将 Objective-C 代码预处理为中间 C 代码。
但是您可以通过直接调用 Objective-C 运行时来完全用 C 语言编写 Objective-C 程序。问题在于,代码可能因实现而异,甚至同一运行时的不同版本也可能有所不同。
问题是,这真的值得这么麻烦吗?
As far as I know, there is no software that preprocesses Objective-C code into intermediate C code.
But you could write your Objective-C program entirely in C by calling directly into the Objective-C runtime. The trouble is just that the code might vary between implementations or even different versions of the same runtime.
The question is, is it actually worth the trouble?