Tiny C Compiler

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Tiny C Compiler

Basisdaten

Entwickler Fabrice Bellard (bis 2018)
Freiwillige
Erscheinungsjahr 2002[1]
Aktuelle Version 0.9.27
(17. Dezember 2017[2])
Betriebssystem Unix, GNU/Linux, OpenBSD, NetBSD, Windows u. a.
Programmier­sprache C, Assemblersprache
Kategorie Compiler
Lizenz GNU Lesser General Public License (LGPL)
TinyCC-Website

Der Tiny C Compiler (auch TCC, tcc oder TinyCC genannt) ist ein von Fabrice Bellard geschriebener C-Compiler für die x86, x86-64, ARM und TMS32067-Plattformen. Er wurde mit dem Ziel entwickelt, auch auf langsamen Computern mit wenig Speicher zu arbeiten. Der TCC steht unter der GNU Lesser General Public License (LGPL).

Der TCC unterstützt einen Großteil an ANSI C, des neuen ISO C99 Standards und viele GNU-C-Erweiterungen, die Möglichkeit der Verwendung des Inline-Assemblers für die x86-Plattform eingeschlossen.

  • TCC ist klein – Der TCC kann auch auf Computern mit wenigen Ressourcen (zum Beispiel wenig Speicher auf Rettungs-CDs) kompilieren. (Der TCC für die x86-Plattform ist ungefähr 100 kB groß und beinhaltet Compiler, Präprozessor, Assembler und Linker.)
  • TCC ist schnell – Der TCC erstellt optimierten Code und kompiliert, assembliert und linkt bis zu 9-mal schneller als GCC.
  • Jede C-Bibliothek kann benutzt werden. Der TCC strebt die komplette Unterstützung des ISO C99-Standards an. TCC kann sich selbst kompilieren.
  • TCC enthält eine optionale Speicher- und Array-Grenzen-Überprüfung. Code mit Index-Überprüfung kann nach Belieben mit Standard-Code gemischt werden.
  • TCC kompiliert C-Code direkt, es ist weder Assemblieren noch Linken notwendig. TCC enthält einen kompletten C-Präprozessor und einen GAS-ähnlichen Assembler.
  • TCC unterstützt C als Skriptsprache (Unix/Linux: #!/usr/bin/env -S tcc -run am Anfang des Codes einfügen, Skript wird direkt von der Kommandozeile aus ausgeführt)
  • Ab der Version 0.9.23 unterstützt der TCC das Erstellen von PE-Anwendungen für Microsoft Windows.

Die LGPL-Lizenz erlaubt es jedem, den Code zu modifizieren und/oder weiterzuvertreiben. Zudem kann TCC für das Entwickeln von Open-Source und proprietärer Software verwendet werden.

TCC hat seinen Ursprung im Obfuscated Tiny C Compiler (OTCC), ein Programm, das Bellard für den International Obfuscated C Code Contest (IOCCC) 2001 geschrieben hat. Bellard erweiterte das Programm und machte den Code besser lesbar, um daraus den TCC zu erstellen.[3]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. bellard.org.
  2. TCC version 0.9.27 is out. In: lists.nongnu.org. 17. Dezember 2017, abgerufen am 14. November 2018 (englisch).
  3. Fabrice Bellard: Obfuscated Tiny C Compiler. In: bellard.org. 2002, abgerufen am 13. Oktober 2007 (englisch).