6

谁能解释@encode 如何将给定对象、结构或数据类型中存在的数据类型元素提取到类型定义中以用作实例化的类描述符?

或者也许是一些资源的指针,用于学习新的预处理器指令的实现?

4

2 回答 2

5

@encode指令解析提供的类型并基于该类型生成一个常量字符串。所有 C 原始类型(包括有符号和无符号版本)的编码以及 Objective-CidSEL类型都具有单字符编码,这些可以在<objc/runtime.h>. s 和数组等更复杂的类型struct具有更大的编码。

Objective-C 运行时编程指南[PDF]中提供了更多信息。

于 2010-02-11T23:43:38.430 回答
1

原始问题的措辞可能不清楚,我认为我提到涉及预处理器的可能实现导致对话转向编译器如何工作的微妙之处,而不是预期的问题。

请参考这个问题,我相信这个问题更清楚我要学习的内容: 我将如何在 ANSI C 中实现类似于 Objective-C @encode() 编译器指令的东西?

于 2010-02-12T22:54:19.177 回答