Tiny C Compiler

sparsamer C-Compiler

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

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

Features

Bearbeiten
  • 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.

Geschichte

Bearbeiten

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