Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
İçeriğe atla

C standart kütüphanesi

Vikipedi, özgür ansiklopedi

C standard kütüphanesi veya libc, C programlama dilinin ISO C standardında belirlenmiş standard kütüphanesidir.[1] ANSI C'nin başlangıcından itibaren, onun da bir üst kümesi olan POSIX C kütüphanesiyle aynı anda geliştirilmiştir.[2][3]

ANSI C'nin ISO'ya kabulünden sonra[4] ISO C kütüphanesi olarak da adlandırılmaya başlanmıştır.

Gerçeklenimleri

[değiştir | kaynağı değiştir]
Ad Websitesi
Bionic [1]
BSD libc BSD varyantına göre değişir.
dietlibc [2]
GNU C Library (glibc) [3]
klibc [4]
LLVM libc [5]
musl [6]
Newlib [7]
picolibc [8]
μClibc [9]

ANSI C kütüphanesi başlık dosyaları

[değiştir | kaynağı değiştir]
Ad Eklendiği standard Açıklama
<assert.h> Kodda mantık hatalarını bulmaya yarayan, hata ayıklamada kullanılabilecek assert makrosunu tanımlar.
<complex.h> C99 Karmaşık sayılarla çalışmaya yarayan çeşitli fonksiyonları tanımlar.
<ctype.h> char türlerini test etmeye (isalpha, isdigit vd.) veya dönüştürmeye (tolower, toupper) yarayan fonksiyonları tanımlar.
<errno.h> Hata kodlarını test etmeye yarayan makroları barındırır.
<fenv.h> C99 Bilgisayar ortanımda reel sayıların (floating-point) çalışma ortamıyla ilgiyi fonksiyonları tanımlar.
<float.h> Reel sayıların gerçeklenime özgü (implementation-specific) özelliklerini (min, max, epsilon gibi) sağlayan makroları tanımlar.
<inttypes.h> C99 Belirli genişlikteki integer türlerini tanımlar.
<iso646.h> NA1 ISO 646 karakter setinde kod yazabilmek için standard belirteçler (token) yerine kullanılabilecek alternatifler sunar.
<limits.h> Tam sayı (integer) türlerinin gerçeklenime özgü özelliklerini sağlayan makroları tanımlar.
<locale.h> Lokalizasyon araçları sağlar.
<math.h> Çeşitli matematik fonksiyonları sağlar.
<setjmp.h> Fonksiyon çağrısı ortasında program akışını değiştiren setjmp ve longjmp makrolarını sağlar.
<signal.h> Sinyal işleme fonksiyonları sağlar.
<stdalign.h> C11 Nesnelerin hafızaya nasıl yerleştiğini (alignment) belirleyen makroları tanımlar.
<stdarg.h> Fonksiyona değişebilen (variadic) sayıda argüman geçilebilmesine olanak tanıyan makroları tanımlar.
<stdatomic.h> C11 İş parcacıkları (thread) arasında paylaşılmış veriler üzerinde aynı anda tek bir işlem (atomic) yapmaya yarayan makro ve fonksiyonları tanımlar.
<stdbool.h> C99 Bool türü tanımını sağlar.
<stddef.h> Kullanışlı pek çok tür ve makro sağlar.
<stdint.h> C99 Belli bit sayısı genişliğinde integer türleri tanımlar.
<stdio.h> Giriş ve çıkış fonksiyonları sağlar.
<stdlib.h> Çeşitli string sayı dönüşümü, rastgele gibi görünen (pseudo-random) sayı, dinamik hafıza yönetimi ve program araçları ile ilgili fonksiyonlar sağlar.
<stdnoreturn.h> C11 Bir dönüş türü olmayan fonksiyonları belirtmede kullanılır.
<string.h> Çeşitli string işleme fonksiyonları sağlar.
<tgmath.h> C99 Bir grup tür-jenerik makro tanımlayarak çeşitli matematik fonksiyonlarının türden bağımsız olarak çağrılmasına izin verir.
<threads.h> C11 İş parçacıklarını (thread), karşılıklı dışlamaları (mutex) ve koşul değişkenlerini (condition variable) yönetmeye yarayan fonksiyonları sağlar.
<time.h> Tarih ve zaman işlemleriyle ilgili fonksiyonları sağlar.
<uchar.h> C11 Unicode karakterler üzerinde işlem yapmak için tür ve fonksiyonlar sağlar.
<wchar.h> NA1 wchar (wide char), ASCII karakter kümesinin dışında, bir bayttan daha büyük karakterlerden oluşan stringleri işlemek için çeşitli fonksiyonlar sağlar.
<wctype.h> NA1 wchar türleri için test ve dönüşüm fonksiyonları sağlar.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  1. ^ ISO/IEC (2018). ISO/IEC 9899:2018(E): Programming Languages - C §7
  2. ^ "The GNU C Library – Introduction". gnu.org. 8 Mart 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Aralık 2013. 
  3. ^ "Difference between C standard library and C POSIX library". stackoverflow.com. 2012. 8 Aralık 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Mart 2015. 
  4. ^ "C Standards". C: C Standards (İngilizce). Keil. 1 Temmuz 2001 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Kasım 2011.