İçeriğe atla

C standart kütüphanesi

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

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ı

AdEklendiği standardAçıklama
<assert.h>Kodda mantık hatalarını bulmaya yarayan, hata ayıklamada kullanılabilecek assert makrosunu tanımlar.
<complex.h>C99Karmaşı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>C99Bilgisayar 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>C99Belirli genişlikteki integer türlerini tanımlar.
<iso646.h>NA1ISO 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>C11Nesnelerin 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>C99Bool türü tanımını sağlar.
<stddef.h>Kullanışlı pek çok tür ve makro sağlar.
<stdint.h>C99Belli 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>C11Bir dönüş türü olmayan fonksiyonları belirtmede kullanılır.
<string.h>Çeşitli string işleme fonksiyonları sağlar.
<tgmath.h>C99Bir 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>C11Unicode karakterler üzerinde işlem yapmak için tür ve fonksiyonlar sağlar.
<wchar.h>NA1wchar (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>NA1wchar türleri için test ve dönüşüm fonksiyonları sağlar.

Ayrıca bakınız

  • C programlama dili

Kaynakça

  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. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Lisp</span> lambda hesabını kullanan fonksiyonel programlama dili

Lisp, kullanımda olan en eski ve en güçlü programlama dillerinden biridir. John McCarthy'in 1958'de icat ettiği dilden türetilmiş birçok dile verilen genel ad olmakla birlikte, günümüzde çoğunlukla ANSI Common Lisp'in kısa adı olarak kullanılır. Diğer yaygın lehçeleri Emacs Lisp (elisp), Scheme ve AutoCAD'in Autolisp'idir.

<span class="mw-page-title-main">ANSI</span>

ANSI, ABD'de endüstiyel standartları hazırlayan ve yayınlayan bir özel şirkettir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

<span class="mw-page-title-main">C++</span> bir programlama dili

C++, Bjarne Stroustrup tarafından 1979 yılında Bell Laboratuvarları'nda geliştirilmeye başlanmış, C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir.

Programlama dillerinde işaretçi, bellek adresi tutmak için tasarlanmış bir türdür.

<span class="mw-page-title-main">Ada (programlama dili)</span> programlama dili

Ada, yapısal, statik tipli, zorunlu, geniş spektrumlu ve nesne yönelimli bir üst düzey bilgisayar programlama dilidir. Pascal ve diğer dillerin genişletilmiş halidir. Gömülü design-by-contract (DbC), güçlü yazımı, açık eşzamanlı, senkronize mesaj geçişi, korunmuş objeli ve belirsiz bir dildir. Ada kod güvenliğini ve sürdürebilirliğini derleyicide hataları bularak geliştirdi.

<span class="mw-page-title-main">POSIX</span>

POSIX, UNIX için "taşınabilir işletim sistemi arabirimi".

<span class="mw-page-title-main">JSON</span> insanların okuyabileceği yapıda yazı temelli standart

JSON ; bütün programlama dilleri arasında, yapılandırılmış veri değişimini kolaylaştıran bir metin biçimidir. Yay ayraç, köşeli ayraç, iki nokta ve virgüllü yazımı ile birçok bağlam ve uygulamada kullanışlıdır. ECMAScript Dil Şartnamesi 'nde tanımlandığı gibi JavaScript'te bulunan nesne değişmezlerinden esinlenilerek tasarlanmıştır. ECMAScript Programlama Dilinden türetilmiştir fakat programlama dilinden bağımsızdır. JSON sahip olduğu ağaç yapısıyla DOM ve XML ile benzerlik gösterse de bunlardan tamamen farklı bir yapıdadır.

<span class="mw-page-title-main">Türk Standardları Enstitüsü</span>

Türk Standardları Enstitüsü (TSE), 16 Ekim 1954 tarihinde Türkiye'de kurulmuş, çeşitli alanlarda standardizasyon ve uygunluk değerlendirmesi yapan bir kurumdur. TSE, 26 Mayıs 1955 tarihinde Uluslararası Standardizasyon Teşkilatına (ISO), 1 Ocak 1956 tarihinde de Uluslararası Elektroteknik Komisyonuna (IEC) asil üye olmuştur ve bu kuruluşların Türkiye temsilcisi konumuna gelmiştir. 18 Kasım 1960 tarih ve 132 Sayılı Kanunla tüzel kişiliği haiz, özel hukuk hükümlerine göre yönetilen bir kurum olarak kuruluş sürecini tamamlamıştır. Her türlü standartları hazırlamak ve hazırlatmak, bünyesinde ve hariçte hazırlanan standartları tetkik etmek, kabul edilen standartları yayımlamak gibi görevleri ifa eden TSE'nin kabul ettiği standartlara Türk Standardı adı verilmektedir. Enstitünün ilgili bulunduğu bakanlık, Türkiye Cumhuriyeti Sanayi ve Teknoloji Bakanlığıdır.

<span class="mw-page-title-main">NFC</span> Yakın Alan İletişim Sistemi

NFC yani Near Field Communication ve Türkçe ismiyle Yakın Alan İletişimi, iki elektronik cihaz arasında 4 cm (1,57 inç) veya daha kısa bir mesafe üzerinden iletişim kurulmasını sağlayan bir dizi İletişim protokolü'dür. NFC, daha yetenekli kablosuz bağlantıları önyüklemek için kullanılabilecek basit bir kurulum aracılığıyla düşük hızlı bağlantı sunar. Diğer "yakınlık kartı" teknolojileri gibi NFC de, 106 ila 848 kbit/s aralığındaki veri hızlarında ISO/IEC 18000-3 hava arayüz standardını kullanan, küresel olarak mevcut lisanssız radyo frekansı ISM bandı'nda 13,56 MHz'lik frekansını kullanarak bir veya her iki yönde iletişim kuran NFC özellikli cihazlardaki iki anten arası endüktif bağlantıya dayanır.

ANSI C, C programlama dilinin Amerikan Ulusal Standartlar Enstitüsü (ANSI) tarafından yayınlanmış halidir. C programlama dili için ilk standart ANSI tarafından yayınlanmıştır.

<span class="mw-page-title-main">GNU C Library</span>

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++ 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.

ECMAScript veya ES, Ecma International tarafından ECMA-262 ve ISO/IEC 16262 notasyonuyla standartlaştırılmış ve markalaşmış bir betik dili spesifikasyonudur. Şu anda kendisini izleyen Javascript tabanlı olarak geliştirilmiştir. Yaygın olarak Dünya Çapında Ağ (www) için istemci taraflı betik dili olarak kullanılır. ECMAScript'in diğer uygulamaları JSCript ve ActionScript'tir.

Bilgi işlemde gettext, Unix benzeri bilgisayar işletim sistemlerinde çok dilli programlar yazmak için yaygın olarak kullanılan bir uluslararasılaştırma ve yerelleştirme sistemidir. Gettext'in temel faydalarından biri, programlamayı çevirmekten ayırmasıdır. Gettext'in en sık kullanılan uygulaması, 1995 yılında GNU Projesi tarafından yayınlanan GNU gettext'idir .Çalışma zamanı kitaplığı libintl'dir. Gettext, çok sayıda isim türü için farklı dizeler kullanma seçeneği sunar, ancak dilbilgisel cinsiyet için desteği yoktur.

C17, ISO/IEC 9899: 2018 için kullanılan gayriresmî addır. 2017'de geliştirilmesi devam ettiği ve resmi olarak Haziran 2018'de basıldığı için C18 olarak da bilinir. C programlama dilinin yayınlanan en son resmi standardıdır. C11'in yerini almıştır ve yerine C2y'in gelmesi beklenmektedir.

ISO 639-5:2008 "Dil adlarının temsili için kodlar - Bölüm 5: Dil aileleri ve grupları için Alfa-3 kodu", Uluslararası Standartlar Teşkilatı (ISO) tarafından yayınlanan oldukça eksik bir uluslararası standarttır. ISO Teknik Komitesi 37, Alt Komite 2 tarafından geliştirilmiştir ve ilk olarak 15 Mayıs 2008'de yayınlanmıştır. ISO 639 standart serisinin bir parçasıdır.

Common Language Infrastructure veya kısaca CLI, programlama dili ve platformdan bağımsız bir şekilde uygulama geliştirme ve yürütmeyi mümkün kılan sistemleri belirleyen uluslararası bir teknik normdur. Standart, Uluslararası Standardizasyon Örgütü tarafından ISO/IEC 23271 numarası altında ve Ecma International tarafından ECMA-335 adı altında sürdürülmektedir. Mevcut versiyon, Haziran 2012'den itibaren 6 numaralı versiyondur.

C++ Standard Kütüphanesi, C++ programlama dilinde ve C++ ISO Standard'ıyla yazılmış sınıfların ve fonksiyonların koleksiyonudur.

C++17, C++ programlama dili için yayınlanan ISO/IEC 14882 standardının bir versiyonudur. C++17, bir önceki C++ standardı olan C++14'ün yerine geçmiş, sonrasında C++20 ile yerdeğiştirmiştir.