Cosa fa il flag -ObjC linker?


136

Ho un'app che funziona con e senza il flag linker. Tuttavia, senza il flag linker, ottengo un comportamento molto diverso quando si aggiungono dati a una vista.


1
bensarz, ottieni un comportamento diverso senza la bandiera del linker ... Cosa significa ?? Diverso come?
Adil Hussain,

Risposte:


158

Questo flag fa sì che il linker carichi tutti i file oggetto nella libreria che definisce una classe o categoria Objective-C. Sebbene questa opzione si traduca in genere in un eseguibile più grande (a causa del codice oggetto aggiuntivo caricato nell'applicazione), consentirà la corretta creazione di librerie statiche Objective-C efficaci che contengono categorie su classi esistenti.

Da queste domande e risposte tecniche


2
Grande! Grazie. Ciò è causato dal fatto che stiamo usando GCC 4.2 come compilatore? L'uso di LLVM GCC 4.2 o LLVM Compiler 2.0 risolverebbe il problema? O sto mescolando cose che non dovrebbero essere mescolate?
bsarrazin,

Penso che il comportamento sia lo stesso con entrambi i compilatori (inoltre, non so se ci sono 2 linker diversi) ...
sergio

4
Questo significa che non avresti mai bisogno -ObjCdi qualcosa di diverso da una libreria / SDK? Cioè non dovresti mai aver bisogno di usarlo in un vero target di app?
Robert,

2
No, questo significa che è necessario -ObjC in qualsiasi progetto che implementa una libreria che contiene una categoria o un framework incorporato
arc4randall

L'ho appena scoperto nel modo più duro!
Alexandre G,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.