Tiny 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. |
Programmiersprache | 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
BearbeitenTCC 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- ↑ bellard.org.
- ↑ TCC version 0.9.27 is out. In: lists.nongnu.org. 17. Dezember 2017, abgerufen am 14. November 2018 (englisch).
- ↑ Fabrice Bellard: Obfuscated Tiny C Compiler. In: bellard.org. 2002, abgerufen am 13. Oktober 2007 (englisch).