İçeriğe atla

Tiny C Derleyici

Ekran görüntüsü

Tiny C (veya kısaca TCC), Fabrice Bellard tarafından oluşturulmuş x86 ve ARM işlemciler için bir C derleyicidir. Küçük diskli ve yavaş bilgisayarlar için dizayn edilmiştir (mesela kurtarma diskleri). 0.9.23 sürümünde (17 Haziran 2005) Windows işletim sistemi desteği eklenmiştir. GNU Kısıtlı Genel Kamu Lisansı altında dağıtılmaktadır.

Bütün ANSI C (C89/C90) standartlarının, C99 ISO standartlarının çoğunun ve birçok GNU C uzantılarının (satır içi assembly gibi) TCC'de bulunduğu iddia edilmektedir.

Özellikleri

TCC'nin belli başlı C derleyicilerinden ayrılan birtakım özellikleri vardır:

  • Küçük dosya boyutu (Çalıştırlabilir x86 TCC için 100 KB civarı).
  • Bellard'a göre TCC x86, x86-64 ve ARM kodunu çok çabuk üretmek için tasarlanmıştır. Derleme işlemlerini GCC'den 9 kat daha hızlı yapabilmektedir.
  • TCC ile C kodunu derlemeden çalıştırmak mümkündür. Hatta TCC ile bir BASH dosyasının içinde C kodlarını betik gibi çalıştırmanız bile mümkün olabilmektedir. Bunun için BASH dosyasında #!/usr/local/bin/tcc -run <dosya.c> gibi bir satır kullanılır.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Linux</span> Bir işletim sistemi çekirdeği

Linux ; Linux çekirdeğine dayalı, açık kaynak kodlu, Unix benzeri bir işletim sistemi ailesidir. GNU Genel Kamu Lisansı versiyon 2 ile sunulan ve Linux Vakfı çatısı altında geliştirilen bir özgür yazılım projesidir. Linux ismi ilk geliştiricisi olan Linus Torvalds tarafından 1991 yılında verilmiştir. Günümüzde süper bilgisayarlarda, akıllı cihazların ve internet altyapısında kullanılan cihazların işletim sistemlerinde yaygın olarak kullanılmaktadır. Bunlardan en popüler olanı Google tarafından geliştirilen Android işletim sistemidir.

<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">GNU</span> bilgisayar işletim sistemi

GNU; çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.

<span class="mw-page-title-main">GNU Compiler Collection</span>

GNU Compiler Collection, GNU Projesi tarafından üretilen ve çeşitli programlama dillerini destekleyen bir derleyici sistemidir. GCC, GNU araç zincirinin önemli bir parçasıdır. Henüz tamamlanmamış GNU işletim sisteminin resmî derleyicisi olmanın yanı sıra, diğer birçok modern Unix benzeri işletim sistemleri tarafından standart derleyici olarak benimsenmiştir. GCC, çok çeşitli işlemci mimarilerine taşınmış; ticari, perakende ve kapalı kaynak yazılım geliştirme ortamlarında yaygın bir araç olarak konuşlanmıştır. Windows'ta GCC kodlarını derlemek ve çalıştırmak için Cygwin, MinGW ve Tiny C Derleyici (TCC) gibi derleyiciler kullanılabilir.

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

Cygwin, Microsoft Windows işletim sistemi üzerinde çalışan ve tamamen özgür kodlardan oluşan bir UNIX simülatörüdür.

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

Bash, Brian Fox tarafından GNU Projesi için Bourne kabuğuna özgür yazılım alternatifi olarak yazılmış, Unix ve benzeri işletim sistemlerinde kullanılan komut satırı kabuğu ve bu kabuğun betik dilidir. GNU Tasarısı'nın parçasıdır ve birçok GNU/Linux dağıtımında ön tanımlı kabuk olarak gelir. Ayrıca bir versiyonu Windows 10 için Linux İçin Windows Alt Sistemi aracılığıyla mevcuttur. Solaris 11'in de varsayılan kullanıcı betiğidir. Bash ayrıca 2019 öncesinde çıkan tüm MacOS sürümlerinde varsayılan kabuktu.

<span class="mw-page-title-main">Binutils</span> farklı nesne dosya formatlarının içerisindeki nesne kodlarının işlenmesi amacı ile kullanılan programlama araçlarının oluşturduğu bir paket

GNU Binutils farklı nesne dosya formatlarının içerisindeki nesne kodlarının işlenmesi amacı ile kullanılan programlama araçlarının oluşturduğu bir pakettir. Şu anda kullanılan güncel versiyonu Cygnus Solutions' daki programcılar tarafından BFD kütüphanesi kullanılarak yazılmıştır. Tipik kullanımı GCC, make ve GDB ile birlikte gerçekleştirilir.

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

GNU Debugger(GDB olarak kısaltılır) GNU yazılım sistemi için kullanılan bir hata ayıklayıcıdır (debugger). Unix tabanlı pek çok sisteminde, C, C++ ve Fortran gibi birçok programlama dilinde çalışan taşınabilir bir hata ayıklayıcıdır.

<span class="mw-page-title-main">Disk bölümlendirme</span>

Bölümlere ayırma, bilgisayarda sabit disk üzerinde işletim sistemlerine özgü mantıksal formatlamaya izin veren mantıksal bölümlerin oluşturulması, bilgisayar mühendisliğinde sabit disk sürücüsünün bölümlere ayırılması ile gerçekleştirilir. Diskin bölümlere ayrılması mantıksal hacim yönetiminin önünü açan bir tekniktir.

<span class="mw-page-title-main">GNU Kısıtlı Genel Kamu Lisansı</span> Özgür yazılım lisansı

LGPL veya bir başka deyişle GNU Kısıtlı Genel Kamu Lisansı, GPL bir kitaplığı kullanan bir eserin, GPL'deki şartları daraltıcı bir lisansa sahip olmaması zorunluluğunu taşımayan büyük ölçüde pragmatik bir özgür lisans türüdür. LGPL şu gayelere matufen GPL'e tercih edilebilecek bir lisanstır:

tail, Unix ve Unix Benzeri sistemlerde düz metin dosyalarının son birkaç satırını görüntülemek için kullanılan bir Unix komut satırı programı'dır.

head (Unix)

head, Unix ve Unix benzeri sistemlerde düz metin dosyalarının ilk birkaç satırını görüntülemek için kullanılan bir Unix komut satırı programı'dır.

cat (Unix) komut satırı programı

cat, dosyaları sırasıyla okuyan ve standart çıktıya yazan POSIX standartlı bir Unix komutudur.

comm

comm, Unix ve Unix Benzeri sistemlerde iki düz metin dosyası arasında karşılaştırma yapmak için kullanılan bir Unix komut satırı programı'dı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.

Fabrice Bellard en çok FFmpeg ve QEMU yazılım projeleriyle bilinen bir bilgisayar programcısıdır. Bellard ayrıca aralarında Tiny C Compiler'ın da olduğu birçok başka program da yazmıştır.

<span class="mw-page-title-main">Android yazılımı geliştirme</span>

Android yazılım geliştirmesi Android işletim sistemi için yeni uygulamaların oluşturulduğu süreçtir. Uygulamalar genellikle Android yazılım geliştirme kiti (SDK) kullanılarak Java programlama dilinde geliştirilir; ancak diğer geliştirme ortamları da mevcuttur. Google, Android uygulamaları Kotlin, Java ve C++ dilleri kullanılarak Android yazılım geliştirme kiti (SDK) kullanılarak yazılabilir" ve diğer dilleri kullanmak da mümkün olduğunu belirtiyor. Go, JavaScript, C, C++ veya Assembly gibi Java sanal makinesi (JVM) dışı tüm diller, muhtemelen kısıtlı API desteğiyle araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar.

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

Xcode macOS, iOS, watchOS, tvOS ve visionOS için yazılım geliştirmek için Apple tarafından geliştirilen macOS için entegre bir tümleşik geliştirme ortamıdır. Yazılım geliştirme araçlarını içerir. İlk kez 2003 yılında piyasaya çıkan hizmetin en istikrarlı sürümü, sürüm 8.3.3'tür ve Mac App Store'den macOS Sierra kullanıcıları için ücretsiz olarak sunulmaktadır. Kayıtlı geliştiriciler, Apple Developer web sitesinden paketi önizleme sürümlerini ve önceki sürümlerini indirebilirler. Bununla birlikte, Apple son zamanlarda yazılımın sürüm 9 beta 2'nin beta versiyonunu Apple Developer hesaplarıyla halka açık hale getirdi.

<span class="mw-page-title-main">Yazılım kategorileri</span>

Yazılım kategorileri, yazılım gruplarıdır. Yazılımın bu kategoriler açısından anlaşılmasını sağlamaktadırlar. Farklı sınıflandırma şemaları, yazılımların farklı yönlerini dikkate alır.

Clang, C ve C++ programlama dilleri için açık kaynaklı bir derleyici ailesidir. LLVM projesinin bir parçası olarak geliştirilen Clang, hızlı, kullanıcı dostu ve yüksek kaliteli bir derleme deneyimi sunar. C ve C++'ın yanı sıra, Objective-C ve Objective-C++ dillerini de destekler.