Вопрос

Кто-нибудь может объяснить, как работает @encode для извлечения элементов типа данных, присутствующих в данном объекте, структуре или типе данных, в определение типа, которое будет использоваться в качестве дескриптора класса для создания экземпляра?

Или, может быть, указатель на некоторые ресурсы для изучения реализации новых директив препроцессора?

Это было полезно?

Решение 2

Формулировка исходного вопроса, возможно, была неясной, и я думаю, что мое упоминание о возможной реализации с участием препроцессора заставило разговор переключиться на тонкости работы компиляторов, а не на предполагаемый вопрос.

Пожалуйста, обратитесь к этому вопросу, который, я считаю, гораздо более ясен относительно того, что я пытаюсь узнать:Как бы я реализовал что-то похожее на директиву компилятора Objective-C @encode() в ANSI C?

Другие советы

В @encode директива анализирует предоставленный тип и генерирует постоянную строку на основе этого типа.Кодирование всех примитивных типов C (включая подписанные и неподписанные версии) и Objective-C id и SEL все типы имеют односимвольные кодировки, их можно найти в <objc/runtime.h>.Более сложные типы , такие как structs и массивы имеют большие кодировки.

Более подробная информация доступна в Руководство по программированию во время выполнения Objective-C [PDF].

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top