Perbedaan antara Cross GCC dan Linux GCC toolchain


24

Saat membuat Proyek C ++ baru di Eclipse, saya ditanya tentang toolchain.

Apa perbedaan praktis antara alat-alat ini - Cross GCCdan Linux GCC. Dalam keadaan apa menggunakannya? Apakah ada hubungannya dengan apakah proyek akan dikompilasi baik di mesin linux dan windows?

Dalam salah satu jawaban kita dapat membaca:

Umumnya kompiler silang adalah kompiler yang menghasilkan kode untuk sistem yang berbeda dari milik Anda.

jadi jika saya mengkompilasi proyek pada mesin target menggunakan makefiles sendiri, tidak masalah opsi apa yang akan saya pilih di sini, kan?


10
Cross GCC berarti bahwa Anda sedang mengkompilasi proyek Anda untuk arsitektur yang berbeda, misalnya Anda memiliki prosesor x86 dan ingin mengkompilasi untuk ARM. Linux GCC hanya berarti GCC standar
Ulrich Dangel

Jawaban:


16

Artikel Cross compiler di wikipedia cukup bagus. Umumnya kompiler silang adalah kompiler yang menghasilkan kode untuk sistem yang berbeda dari milik Anda. Biasanya ini berarti arsitektur perangkat keras target yang berbeda, tetapi juga dapat berarti sistem operasi target yang berbeda (atau keduanya).

Secara teoritis Anda dapat menggabungkan ini dan menggunakan cross-compiler pada arsitektur A 1 dan sistem operasi S 1 untuk membangun cross-compiler yang akan berjalan pada arsitektur A 2 di bawah sistem operasi S 2 dan menghasilkan kode untuk sistem operasi S 3 pada arsitektur A 3 .

Seperti yang disebutkan Ulrich dalam komentarnya, Linux GCC harus menjadi kompiler "asli" Anda (yaitu untuk target yang sama).

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.