将 Objective-C 代码编译为 C

问题描述 投票:0回答:2

有没有办法将 Objective-C 代码编译为 C 语言?我很想知道各种事物在幕后是如何“真正”代表的,但我在处理 Assembly 时感到不舒服。 例如,我在一本书中读到,方法被表示为具有基于类和方法名称的唯一名称的函数,并且

id

类型被定义为具有单个成员 (

isa
) 的结构。这个可以看吗?
    

objective-c gcc
2个回答
4
投票

然而,过去的一些遗迹仍然存在。如果右键单击

id

并选择

跳转到定义
,您将看到 typedef。如果您调试代码并查看对象的结构,您会发现它的第一个字段始终是超类的结构,并且一直到 isa。 Apple
提供了有关运行时的文档
,可以让您深入了解事物的工作原理。


1
投票

Objective C 语言中的几乎所有内容都可以用 C 代码表示,并使用“隐藏”结构元素调用 Objective C 运行时。

(有谁知道该语言旧版本的早期宏预处理器实现是否仍然存在并且可用?)

© www.soinside.com 2019 - 2024. All rights reserved.