Apa yang dilakukan flag linker -ObjC?


138

Saya memiliki aplikasi yang berfungsi dengan dan tanpa tanda penaut. Namun, tanpa flag linker, saya mendapatkan perilaku yang sangat berbeda saat menambahkan data ke tampilan.


1
bensarz, Anda mendapatkan perilaku yang berbeda tanpa flag linker ... Apa maksudnya ?? Beda bagaimana?
Adil Hussain

Jawaban:


159

Bendera ini menyebabkan linker memuat setiap file objek di perpustakaan yang mendefinisikan kelas atau kategori Objective-C. Meskipun opsi ini biasanya akan menghasilkan eksekusi yang lebih besar (karena kode objek tambahan dimuat ke dalam aplikasi), opsi ini akan memungkinkan pembuatan pustaka statis Objective-C yang efektif yang berisi kategori pada kelas yang sudah ada.

Dari Tanya Jawab Teknis ini


2
Bagus! Terima kasih. Apakah ini disebabkan oleh fakta bahwa kami menggunakan GCC 4.2 sebagai kompiler? Apakah menggunakan LLVM GCC 4.2 atau LLVM Compiler 2.0 akan menyelesaikan masalah? Atau apakah saya mencampur hal-hal yang tidak boleh dicampur?
bsarrazin

Saya pikir perilakunya sama dengan kedua kompiler (selain itu, saya tidak tahu apakah ada 2 linker yang berbeda) ...
sergio

4
Apakah ini berarti Anda tidak akan membutuhkan -ObjCapapun selain perpustakaan / SDK? Yaitu Anda tidak perlu menggunakannya dalam target aplikasi yang sebenarnya?
Robert

2
Tidak, ini berarti Anda memerlukan -ObjC dalam setiap proyek yang mengimplementasikan pustaka yang memiliki kategori atau kerangka kerja yang disematkan di dalamnya
arc4randall

Baru saja menemukan ini dengan cara yang sulit!
Alexandre G
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.