Bilgi Merkezi
Bundan sıkıldım, bana başka bir şey göstersen?

Çapraz derleyiciler


Çapraz Derleyici üzerinde çalıştığı platformdan farklı olan platformlar için yürütülebilen kodlar üreten derleyicidir. Böyle bir araç, erişiminizde olmayan bir platform için kod derlenmesi gerektiğinde ya da böyle bir platform üzerinde kod derleme işleminin yapılmasının imkansız olduğu (gömülü sistemlerde olduğu gibi, mikrokontrolörler minimum bellek ile çalıştığı için derleme imkansız olur) durumlarda faydalı olabilir.



Konu başlıkları

Çapraz Derleyicinin Kullanımı

Çapraz derleyicinin temel kullanımı çalışılan ortamın hedef ortamdan ayrılması şeklinde tanımlanabilir. Bu kullanım çeşitli durumlar için faydalıdır;

GCC Çapraz Derleyici

‘’’gcc’’’ onlarca platformu ve yaygın olarak kullanılan programlama dillerini destekleyen bir çapraz derleyicidir. Bununla birlikte, derleyiciyi geliştirmeye çalışan gönüllü insanların sınırlı zamanları ve bir çapraz derleyiciyi çalışır hale getirmenin gerektirdiği uğraş, bazı sürümlerin hatalardan dolayı çalışmamasına neden olmaktadır.

gcc’ nin hedef platformlar için çalışması, hedef platform için hazırlanmış binutils’ in ikili dosyalarını gerektirmektedir. Bunlar arasında en önemli olanlardan biri GNU Assembler dır. Bu yüzden öncelikle binutils configure betiğine --target=some-target parametresi geçirilerek derlenmelidir. Bunun ardından eğer binutils’ in oluşturduğu araçlar path ile tanımlı dizinde ise gcc’ yi derleme işlemi normal bir şekilde gerçekleştirilebilir. bash kullanan unix benzeri işletim sistemlerinde, bahsedilen tanımlama aşağıdaki şekilde gerçekleştirilebilir;

PATH=/path/to/binutils/bin:$PATH; make

Çapraz derleme, derleme işleminin yapıldığı platform üzerinde hedef platform için bir takım standart C kütüphanelerinin bulunmasını gerektirir. En azından kütüphanenin crt0, ... parçalarının olması gereklidir. Diğer bir alternatif, C kütüphanesinin kaynak dosyaları derlemek için gerekli sadece temel parçalarını içeren newlib kullanılmasıdır. gcc’ yi newlib ile yapılandırmak için configure betiğine --with-newlib parametresini geçirmek yeterli olur.


Canadian Cross

Buda farklı makineler için çapraz derleyici geliştirmenin yöntemlerinden biridir. Yani, B makinesi üzerinde çalışıp C makinesi için çalıştırılabilir kodlar üretecek çapraz derleyicinin A makinesi üzerinde geliştirilmesidir. Canadian Cross ile gcc kullanıldığı zaman, 4 derleyiciye ihtiyaç duyulabilir;

A makinesinde:

Burada dikkat edilmesi gereken nokta elde edilen derleyici A makinesinde çalışmayacaktır. B makinası üzerinde ‘’gcc çapraz derleyicisini kullanarak B makinesinde, C (4) makinesinde’’ çalışmak üzere kodlar derlendikten sonra elde edilen dosyalar C makinesine taşınıp çalıştırılmalıdır.

Dış Bağlantılar

çapraz derleyici ile ilgili Anahtar Kelimeler :yerel platform kullanarak derleyici isletim kullanilan elde ‘’A hedef için [degistir] gcc farkli derleme makinesi üzerinde çapraz Çapraz
Bu makale Wikipedia' dan çarpma olup GNU FDL lisansı altındadır. Bu yazıyı yazan arkadaşlar buradadır.
Bir Şey Öğren bir Ferruh Mavituna aksiyonudur ve aktivist bir Wiki forkudur.

Wußten Sie das? - Lernet was