O que o sinalizador vinculador -ObjC faz?

136

Eu tenho um aplicativo que funciona com e sem o sinalizador vinculador. No entanto, sem o sinalizador do vinculador, recebo um comportamento muito diferente ao adicionar dados a uma exibição.

bsarrazin
fonte
1
bensarz, você obtém um comportamento diferente sem a bandeira do vinculador ... O que isso significa? Diferente como?
Adil Hussain

Respostas:

158

Esse sinalizador faz com que o vinculador carregue todos os arquivos de objetos na biblioteca que definem uma classe ou categoria de Objective-C. Embora essa opção normalmente resulte em um executável maior (devido ao código de objeto adicional carregado no aplicativo), permitirá a criação bem-sucedida de bibliotecas estáticas Objective-C eficazes que contêm categorias em classes existentes.

Deste Perguntas e Respostas Técnicas

sergio
fonte
2
Ótimo! Obrigado. Isso é causado pelo fato de estarmos usando o GCC 4.2 como um compilador? O uso do LLVM GCC 4.2 ou LLVM Compiler 2.0 resolveria o problema? Ou estou misturando coisas que não devem ser misturadas?
precisa saber é o seguinte
Eu acho que o comportamento é o mesmo com ambos os compiladores (além disso, eu não sei se existem 2 de ligantes diferentes) ...
sergio
4
Isso significa que você nunca precisaria de -ObjCoutra coisa senão uma biblioteca / SDK? Ou seja, você nunca precisará usá-lo em um destino de aplicativo real?
Robert
2
Não, isso significa que você precisa -ObjC em qualquer projeto de implementação de uma biblioteca que tem uma categoria ou quadro embutido nele
arc4randall
Acabei de descobrir isso da maneira mais difícil!
Alexandre G