Saya sudah membaca halaman gcc
manual, tetapi saya masih tidak dapat memahami perbedaan antara -fpic
dan -fPIC
. Adakah yang bisa menjelaskannya, dengan cara yang sangat sederhana dan jelas?
Pertanyaan-pertanyaan Terkait:
Saya sudah membaca halaman gcc
manual, tetapi saya masih tidak dapat memahami perbedaan antara -fpic
dan -fPIC
. Adakah yang bisa menjelaskannya, dengan cara yang sangat sederhana dan jelas?
Pertanyaan-pertanyaan Terkait:
man gcc
tetapi dalaminfo gcc
, yang memiliki lebih banyak dokumentasi.Jawaban:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Gunakan
-fPIC
atau-fpic
untuk menghasilkan kode independen posisi. Apakah akan menggunakan-fPIC
atau-fpic
menghasilkan kode independen posisi bergantung pada target. The-fPIC
pilihan selalu bekerja, tapi dapat menghasilkan kode yang lebih besar dari-fpic
(mnenomic mengingat ini adalah bahwa PIC adalah dalam kasus yang lebih besar, sehingga dapat menghasilkan jumlah yang lebih besar dari code). Menggunakan-fpic
opsi biasanya menghasilkan kode yang lebih kecil dan lebih cepat, tetapi akan memiliki batasan yang bergantung pada platform, seperti jumlah simbol yang terlihat secara global atau ukuran kode. Linker akan memberi tahu Anda apakah itu cocok saat Anda membuat perpustakaan bersama. Jika ragu, saya memilih-fPIC
, karena selalu berhasil.sumber
-fPIC
dan-fpic
tampaknya telah menghasilkan kode yang sama. Sepertinya mereka menghasilkan kode yang berbeda hanya pada m68k, PowerPC dan SPARC.Dari halaman manual Gcc :
Dimana:
sumber