C¶
C en temel programlama dillerinden biridir. C derlemeli bir dil olduğu için gcc veya clang gibi bir derleyiciye ihtiyaç duyar.
Derleyici kurulumu¶
Gcc kurulumu¶
gcc yüklemek için ymp install gcc komutunu kullanabilirsiniz.
$ ymp install gcc
Clang kurulumu¶
clang yüklemek için ymp install clang komutunu kullanabilirsiniz.
$ ymp install clang
Standart C Kütüphanesi (libc)¶
Her GNU/Linux dağıtımı bir libc ile gelir. libc, sistemdeki en temel kütüphanedir ve bütün programlar ne ile yazılmış olursa olsun eninde sonunda bir yerlerde libc fonksiyonlarını çağırır. libc fonksiyonlarını kullanmadan program yazmak çok zordur. İşte Türkmen Linux'ta kurulabilen libc implementasyonları:
Glibc¶
Glibc GNU tarafından geliştirilen ve bakımı yapılan bir libc implementasyonudur ve neredeyse her dağıtım tarafından varsayılan olarak kullanılmaktadır. Türkmen linux için kurmanıza gerek yok çünkü zaten varsayılan olarak gelir ve sistemin çalışması için önemli olduğu için kaldırmaya çalışmanız da pek önerilmez.
Herhangi bir C programını gcc veya clang ile derlediğinizde neredeyse her dağıtımda varsayılan olarak glibc kullanır. Dolayısıyla kullanmak için özel bir çaba sarf etmenize gerek yok.
Musl¶
Musl, sistemde varsayılan olarak bulunan glibc alternatifidir. Musl daha hafiftir fakat dağıtımların geneli glibc kullandığı ve her kaynak kodun düzgün şekilde derlenememesinden dolayı Türkmen linuxta C kütüphanesi olarak glibc tercih edilmiştir.
Yine de musl kullanarak derleme yapılabilmektedir. Bunun için ymp install musl komutu ile musl yükleyip sonrasında musl-gcc ile derleme yapabilirsiniz.
$ ymp install musl
Not: tüm sistem kütüphaneleri glibc uyumlu çalıştığı için musl kullanarak yapacağınız derlemelerde sistem kütüphanelerinden yararlanamazsınız.
Derleyici ayarlama¶
ymp varsayılan olarak gcc kullanır. Bunu /etc/ymp.yaml içerisinden değiştirebilirsiniz veya --build:cc=xxx şeklinde ayarlayabilirsiniz.
Paket yapımı dışında genellikle CC çevresel değişkeni kullanılarak derleyici ayarlanabilir.
$ export CC=musl-gcc
$ make