Como a diretiva do @Encode Compiler é implementada no Objective-C?
-
20-09-2019 - |
Pergunta
Alguém pode explicar como o @Encode funciona para extrair os elementos do tipo de dados presentes em um determinado objeto, estrutura ou tipo de dados em uma definição de tipo a ser usada como descritor de classe para instanciação?
Ou talvez um ponteiro para alguns recursos para aprender sobre a implementação de novas diretivas de pré -processador?
Solução 2
O fraseado da pergunta original pode não ter sido claro e acho que minha mencionação de uma possível implementação envolvendo o pré -processador fez com que a conversa se voltasse para as sutilezas de como os compiladores funcionam e não a pergunta pretendida.
Por favor, faça referência a esta pergunta, que acredito que é muito mais clara quanto ao que estou tentando aprender:Como eu implementaria algo semelhante à Diretiva Objective-C @Encode () Compiler no ANSI C?
Outras dicas
o @encode
A diretiva analisa o tipo fornecido e gera uma sequência constante com base nesse tipo. A codificação de todos os tipos primitivos C (incluindo versões assinadas e não assinadas) e o Objective-C id
e SEL
Todos os tipos têm codificações de caracteres únicos, estes podem ser encontrados em <objc/runtime.h>
. Tipos mais complicados, como struct
S e matrizes têm codificações maiores.
Mais informações estão disponíveis no Guia de programação Objective-C Runtime PDF].