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) |
tcc-Webseite |
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-Platform eingeschlossen.
Features
- 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 Scriptsprache (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
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]
Belege
- ↑ bellard.org.
- ↑ TCC version 0.9.27 is out
- ↑ Bellard, Fabrice Obfuscated Tiny C Compiler