Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

GNU C Library

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
[[Dosya:Linux API-tr.svg|küçükresim|Linux API'ı Sistem Çağrı Arayüzü, GNU C kütüphanesi ve libevdev'den oluşur.]] [[Dosya:Linux kernel System Call Interface (SCI) and GNU C Library-tr.svg|küçükresim|300px|Linux çekirdeğinin sistem çağrılarını saran GNU C Kütüphanesi ]] [[Dosya:Linux API and Linux ABI-tr.svg|küçükresim|Linux çekirdeği ve GNU C Library Linux API'yi oluşturur. Derlemeden sonra ikili dosyalar bir ABI sağlar.]] GNU C Library , bilinen adıyla glibc, GNU Tasarısı'nın C standart kütüphanesi uyarlamasıdır. Adına rağmen artık doğrudan C++ (ve dolaylı olarak diğer programlama dilleri) desteği bulunur. 1990'ların başında Özgür Yazılım Vakfı tarafından GNU işletim sistemi için geliştirilmeye başlanmıştır. GNU Kısıtlı Genel Kamu Lisansı altında dağıtılmıştır, glibc bir özgür yazılımdır. Tarihçe Glibc tasarısı ilkin daha çok Roland McGrath tarafından yazıldı, 1980'lerde Özgür Yazılım Vakfı için çalışmaktaydı. Şubat 1988'de Özgür Yazılım Vakfı ANSI C'nin gereksindiği işlevselliğe neredeyse ulaştığını açıklamıştır. 1992'de ANSI C-1989 ve POSIX.1-1990 işlevleri yerine getirilmiş, çalışma POSIX.2 yoluna girmiştir. Eylül 1995'te Ulrich Drepper glibc tasarısına ilk katkısını yaptı ve gitgide glibc'nin 1990'lardaki ana katkıcısı ve bakımcısı oldu. Drepper uzun yollar bakımcılık mevkiinde tutuldu ve 2012'ye kadar tasarıya yapılan katkıların toplam %63'ünü kendisine aittir. "Linux libc" çatalı 1990 başlarında Linux çekirdeği geliştiricileri glibc'yi çatalladılar. Çatallamalarını "Linux libc" olarak adlandırdılar, yıllarca ayrı olarak geliştirildi ve sürüm 2'den 5'e kadar dağıtıldı. Özgür Yazılım Vakfı Ocak 1997'de glibc 2.0'ı dağıttığında POSIX ölçünlerine uygunluğu daha fazlaydı, daha iyi yerelleştirmeye ve çoklu dil işlevine, IPv6 yeterliliğine, 64-bit veri erişimine, çok iş parçacıklı uygulamalar için olanaklara, gelecek sürüm uyumluluğuna ve kodun daha fazla taşınabilirliğine sahipti. Bu noktada, Linux çekirdeği geliştiricileri çatallamalarını durdurdular ve Özgür Yazılım Vakfı'nın glibc'sine döndüler. Linux libc'nin kullanılan son sürümü libc.so.5 iç adını (soname) kullanmıştır. Bundan hareketle Linux üzerinde glibc 2.x sürümleri libc.so.6 iç adını kullanmıştır (Alfa ve IA-64 mimarileri şimdi libc.so.6.1 adını kullanmaktadır). Kütüphaneler için sıradan teammülleri takiben *.so dosya ismi bazen libc6 olarak kısaltılmıştır (örneğin Debian'daki paket ismi). Richard Stallman'a göre Linux libc'de yapılan değişiklikler glibc'yle birleştirilemezdi çünkü kodun yazarlık durumu açık değildi ve GNU tasarısı telif ve yazarların kaydedilmesi hakkında katı davranışlıdır. Yönlendirme kurulu kurulması 2001'den başlayarak kütüphanenin gelişimi bir kurul tarafından denetlenmiştir, Ulrich Drepper ana katkıcı ve bakımcı olarak kaldı. Ulrich Drepper'in açıkça belirttiği gibi yönlendirme kurulu kurulması toplum karşıtlığıyla çevrilmiştir, ona göre bu kurul RMS'nin başarısız yönetimi devralma girişimidir. Git'e geçiş Önceleri CVS deposunda olan glibc 2009'da Sourceware'deki Git deposuna geçirilmiştir. Debian EGLIBC'ye geçiyor ve dönüyor Drepper'in liderlik şekli ve dış katkı kabulu üzerinde süren uzun tartışmalar etrafında Debian 2009'da resmen glibc'nin çatalı EGLIBC'ye geçmiştir. Nisan 2015'te Debian 8.0 (Jessie) ile birlikte geri dönmüştür. Yönlendirme kurulunun dağılması Mart 2012'de yönlendirme kurulu oylamayla kendini dağıtmış ve topluluk odaklı geliştirme süreci adına Drepper'i görevden almış, Ryan Arnold, Maxim Kuvyrkov, Joseph Myers, Carlos O'Donnel ve Alexandre Oliva GNU bakımcılığıyla görevlendirilmiştir (ama ilave karar alıcı güçleri olmadan). glibc bakımcılığında yaşanan değişikliklerden sonra Debian ve diğer tasarılar glibc'ye geri döndüler. Ayrıca, 2014 başından beri glibc çatalı EGLIBC artık geliştirilmemektedir, bunun sebebi "hedeflere artık doğrudan GLIBC'nin içinde ulaşılmış" olmasıdır. İşlevsellik glibc Single UNIX Specification ve POSIX'in (1c, 1d ve 1j) gerektirdiği işlevselliği karşılamaktadır. ISO C11, ISO C99, Berkeley Unix (BSD) arayüzlerinin, System V Interface Definition'un ve X/Open System Interface uyumlu düzenlerin yanında tüm X/Open UNIX eklentilerine ortak tüm eklentilerle X/Open Portability Guide Issue 4.2'nin gerektirdiği bazı işlevsellikleri karşılamaktadır. Ek olarak, glibc ayrıca GNU ile geliştirme yapılırken kullanışlı ya da gerekli addedilmiş eklentileri de karşılamaktadır. Desteklenen donanım ve çekirdekler Glibc değişik çekirdeklerin ve değişik donanım mimarilerin çalıştırdığı birçok düzende kullanılmıştır. En yaygın kullanımı x86 donanım üzerinde Linux çekirdeğiyle birliktedir, yine de resmi olarak desteklenen donanımlar şunlardır: 32-bit ARM ve yeni 64-bit ISA (AArch64), DEC Alpha, PA-RISC, IA-64, Motorola m68k, MicroBlaze, MIPS, Nios II, PowerPC, s390, SPARC, TILE, x86. Resmi olarak Hurd ve Linux çekirdeklerini destekler. Ek olarak FreeBSD ve NetBSD (Debian GNU/kFreeBSD ve Debian GNU/NetBSD düzenlerinin kurulu olduğu) çekirdeklerde, OpenSolaris'in çatal sürümünde çalışan yüksek miktarda yama içeren sürümleri de vardır. Ayrıca BeOS ve Haiku'da libroot.so olarak adlandırılmış ve (düzenlenmiş biçimde) kullanılmıştır. Küçük aygıtlarda kullanım Geçmişte Linus Torvalds ve gömülü Linux yazılımcıları glibc'nin diğer kütüphanelerden yavaş ve "şişirilmiş" olduğu yönünde eleştirmiştir. Bu sebeple çeşitli farklı, daha küçük izdüşüme sahip C standart kütüphaneleri oluşturuldu. Farklı libc'ler şunlardır: Bionic (çoğunlukla BSD'deki libc'yi taban aldı ve Android'de kullanıldı), dietlibc, uClibc, Newlib, Klibc ve musl. Yine de çoğu küçük aygıt tasarısı diğerlerine karşılık GNU libc'yi kullandı. Bunun sebebi uygulama desteği, standartlara uyumu ve eksiksiz olduğu içindir. Bu küçük aygıt tasarılarına örnek olarak Openmoko ve (GPE görüntü yazılımı kullanılırken) iPaq el bilgisayarı için Familiar Linux verilebilir. Farklı seçenekler GNU C Library'den farklı diğer C standart kütüphaneler şunlardır: Bionic libc, dietlibc, EGLIBC, klibc, musl, Newlib ve uClibc. Uyumluluk katmanları Google'ın Android'i ve Microsoft'un Windows'u gibi diğer çevre-dizgeler için yazılacak programların glibc üzerinde çalışmalarını sağlayan uyumluluk katmanları ("shim'ler") vardır. libhybris Android'in Bionic'i için bir uyumluluk katmanıdır. Wine da Win32 API/ABI'den glibc'ye uyumluluk katmanı olarak görülebilir. Ayrıca bakınız Gnulib Linux kernel API Kaynakça Dış bağlantılar GNU libc ana sayfası GNU libc geliştiriciler sayfası Kategori:C standart kütüphanesi Kategori:Ücretsiz çapraz platform yazılımları Kategori:Ücretsiz bilgisayar kütüphaneleri Kategori:C ile programlanmış ücretsiz yazılımlar Kategori:GNU Projesi yazılımları Kategori:Linux çekirdeğinin arayüzleri Kategori:Linux UPAları
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri