Çapraz derleyici: Revizyonlar arasındaki fark

[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Chatai~trwiki (mesaj | katkılar)
Değişiklik özeti yok
 
Chatai~trwiki (mesaj | katkılar)
Değişiklik özeti yok
1. satır:
'''Çapraz Derleyici''' üzerinde çalıştığı platformdan[[platform]]dan farklı olan platformlar için [[yürütülebilen]] kodlar[[kod]]lar üreten derleyicidir[[derleyici]]dir. Böyle bir araç, erişiminizde olmayan bir platform için kod derlenmesi gerektiğinde yada böyle bir platform üzerinde kod derleme işleminin yapılmasının imkansız olduğu ([[gömülü sistemlerdesistemler]]de olduğu gibi, mikrokontrolörler[[mikrokontrolör]]ler minimum [[bellek]] ile çalıştığı için derleme imkansız olur) durumlarda faydalı olabilir.
 
== Çapraz Derleyicinin Kullanımı ==
5. satır:
Ç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;
 
* Cihazın oldukça sınırlı kaynaklarının olduğu gömülü sistemler için kullanışlıdır. Bir mikro dalga fırının, ekranını okumak, kapı sensörünü[[sensör]]ünü izlemek, ekrana ve kulaklıklara çıkış vermek, pişirilen yemekler için kullanılan makineyi kontrol etmek için oldukça küçük bir bilgisayarı olacaktır. Bu bilgisayar bir derleyiciyi, dosya sistemini yada herhangi bir geliştirme ortamını çalıştırmak için yeterince güçlü olamayacaktır.
 
* Birden çok makinaya derleme yapmak için kullanışlıdır. Örneğin, bir şirket kullanılan [[işletim sistemininsistemi]]nin bir kaç farklı versiyonunu[[versiyon]]unu desteklemek yada farklı işletim sistemlerini desteklemek isteyebilir. Çapraz derleyici kullanarak, tek bir çalışma ortamı üzerinde birden fazla hedef platform için derleme yapılabilir.
 
* Birden fazla makina için yapılan derleme işlemine benzer olarak, pek çok derleme işlemini gerektiren karmaşık bir kurulum, makinanın markasına veya işletim sisteminin tipine bakmaksızın herhangi bir makina üzerinden gerçekleştirilebilir.
 
* Yeni bir platforma [[bootsrapping]] yapılmasına olanak verir. Yeni bir platform yada gelecek bir platformun emülatörü[[emülatör]]ü için yazılım geliştirilirken, tasarımcı işletim sistemi ve doğal[[yerel derleyici]] (native compiler) gibi gerekli araçları derlemek için çapraz derleyici kullanır.
 
==GCC Çapraz Derleyici==
 
‘’’gcc’’’‘’’[[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[[sürüm]]lerin 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 <code> --target=some-target</code> parametresi geçirilerek derlenmelidir. Bunun ardındani 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 sistem]]lerinde, bahsedilen tanımlama aşağıdaki şekilde gerçekleştirilebilir;