¿Qué hace el indicador de enlace -ObjC?

136

Tengo una aplicación que funciona con y sin la bandera del vinculador. Sin embargo, sin la bandera del vinculador, obtengo un comportamiento muy diferente al agregar datos a una vista.

bsarrazina
fuente
1
bensarz, obtienes un comportamiento diferente sin la bandera del enlazador ... ¿Qué significa eso? ¿Diferente cómo?
Adil Hussain

Respuestas:

158

Este indicador hace que el vinculador cargue cada archivo de objeto en la biblioteca que define una clase o categoría de Objective-C. Si bien esta opción generalmente dará como resultado un ejecutable más grande (debido al código de objeto adicional cargado en la aplicación), permitirá la creación exitosa de bibliotecas estáticas efectivas de Objective-C que contienen categorías en las clases existentes.

De este Q&A técnico

sergio
fuente
2
¡Excelente! Gracias. ¿Es esto causado por el hecho de que estamos usando GCC 4.2 como compilador? ¿Usar LLVM GCC 4.2 o LLVM Compiler 2.0 resolvería el problema? ¿O estoy mezclando cosas que no deberían mezclarse?
bsarrazin
Creo que el comportamiento es el mismo con ambos compiladores (Además, no sé si hay 2 conectores diferentes) ...
Sergio
44
¿Esto significa que nunca necesitarías -ObjCen otra cosa que no sea una biblioteca / SDK? Es decir, ¿nunca debería necesitar usarlo en un objetivo de aplicación real?
Robert
2
No, esto significa que debe -ObjC en cualquier proyecto de implementación de una biblioteca que cuenta con una categoría o un marco incrustado en él
arc4randall
¡Acabo de descubrir esto de la manera difícil!
Alexandre G