Pregunta

Puede alguien explicar cómo funciona @encode para extraer los elementos de tipo de datos presentes en un determinado objeto, estructura o tipo de datos en una definición de tipo para ser utilizado como un descriptor de la clase para la instanciación?

O tal vez un puntero a algunos recursos para aprender acerca de la aplicación de las nuevas directivas del preprocesador?

¿Fue útil?

Solución 2

La redacción de la pregunta original puede haber sido claro y creo que mi mención de una posible ejecución que implique el preprocesador causó la conversación a su vez hacia las sutilezas de cómo funcionan los compiladores en vez de la pregunta deseada.

Por favor hacer referencia a esta cuestión, que creo que es mucho más claro en cuanto a lo que estoy tratando de aprender: ¿Cómo iba a aplicar algo similar a la directiva de compilador de Objective-C @encode () en ANSI C?

Otros consejos

La directiva @encode analiza el tipo previsto y genera una cadena constante en base a ese tipo. La codificación de todos los tipos C primitivos (incluyendo versiones con y sin signo) y la id Objective-C y tipos SEL todos tienen codificaciones de un solo carácter, éstos se pueden encontrar en <objc/runtime.h>. tipos más complicados como structs y matrices tienen codificaciones más grandes.

Más información está disponible en las href="http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/ObjCRuntimeGuide/ObjCRuntimeGuide.pdf" Objective-C en tiempo de ejecución Guía de programación [PDF].

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top