Domanda

Qualcuno può spiegare come @encode lavora per estrarre gli elementi di tipo di dati presenti in un determinato oggetto, struct, o tipo di dati in una definizione di tipo da utilizzare come un descrittore di classe per l'esecuzione dell'istanza?

O forse un puntatore ad alcune risorse per conoscere l'attuazione delle nuove direttive del preprocessore?

È stato utile?

Soluzione 2

La formulazione della domanda originale potrebbe essere stato poco chiaro e penso che la mia menzione di una possibile implementazione coinvolge il preprocessore ha causato la conversazione per girare verso le sottigliezze di come compilatori di lavoro piuttosto che la domanda prevista.

Si prega di fare riferimento a questa domanda, che a mio avviso è molto più chiara di quello che sto cercando di imparare: Come faccio a implementare qualcosa di simile alla direttiva del compilatore Objective-C @encode () in ANSI C?

Altri suggerimenti

La direttiva @encode analizza il tipo fornito e genera una stringa costante sulla base di tale tipo. La codifica di tutti i tipi C primitivi (comprese le versioni con e senza segno) e la id Objective-C e tipi SEL tutti hanno codifiche a singolo carattere, questi può essere trovato in <objc/runtime.h>. i tipi più complessi quali structs e gli array hanno codifiche più grandi.

Maggiori informazioni sono disponibili nelle href="http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/ObjCRuntimeGuide/ObjCRuntimeGuide.pdf" Objective-C runtime Guida Programmazione [PDF].

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top