Tiny C Compile

Tiny C Compile

Beschreibung von Tiny C Compiler 0.9.23 Windows-Hilfe en.png-Image. Information
Schöpfer Fabrice Bellard
Erste Version 2002
Letzte Version 0,9,27 (13. Dezember 2017)
Anzahlung repo.or.cz/tinycc.git
Geschrieben in C und Assembler
Unterstützungssprachen VS
Betriebssystem Linux , Microsoft Windows und Unix
Umgebung X86 , ARM-Architektur und x86_64
Art Compiler
Lizenz GNU Lesser General Public License Version 2.1 ( d )
Webseite bellard.org/tcc

Tiny C Compiler (tcc, winziger C-Compiler ) ist ein vollständiger x86- , x86-64- und ARM C- Compiler, der von Fabrice Bellard entwickelt wurde . Es kann unter Unix , Linux und Microsoft Windows seit Version 0.9.26 (ab) verwendet werden 15. Februar 2013). Es wird unter der GNU Lesser General Public License (GNU LGPL) vertrieben.

ANSI C und der neue ISO C99- Standard werden von tcc besonders gut unterstützt  . Es ist auch mit vielen GNU C-Erweiterungen kompatibel, z. B. der Inline-Baugruppe . Wenn Sie tcc jedoch vollständig konform machen, kann dies zu einer erheblichen Verlangsamung führen. Insbesondere bietet es keine Trigraph-Behandlung , keine ordnungsgemäße Typ- und Ausdrucksprüfung.

Fähigkeiten

Die Lizenz ermöglicht es jedem, sie zu nutzen, zu ändern und / oder weiterzugeben. Es kann verwendet werden, um Open Source oder proprietäre Software zu entwickeln.

Geschichte

tcc hat seinen Ursprung in OTCC ( Obsfucated Tiny C Compiler ), einem Programm, das Bellard 2002 schrieb, um den IOCCC ( Internation Obfuscated C Code Contest ) zu gewinnen. Seitdem hat er es verbessert und "herabgestuft". Verdunkelt "das zu produzierende Programm tcc .

Aktuellen Zustand

Die Entwicklung von tcc wird verlangsamt, da Fabrice Bellard mit anderen Projekten beschäftigt ist. Es gibt jedoch modifizierte Versionen, wie Landleys Mercurial-Zweig , Dave Dodges Sammlung inoffizieller tcc-Patches , Debian- und kfreebsd-Downstream-Patches und grischkas gcc-Patches.

Version 0.9.23 unterliegt einer Sicherheitsanfälligkeit, die als CVE-2006-0635 oder Open Source Vulnerability Database 22956 klassifiziert ist . Der Bericht besagt, dass tcc " einen Fehler enthält, der Sicherheitskomplikationen für das damit kompilierte Programm haben kann. Der Compiler kann keinen vorzeichenlosen Wert des Operators sizeof zurückgeben , was zu einem möglichen Überlauf von Ganzzahlen in den von ihm kompilierten Objekten führt. " Fehler wurde in der Gabel von Rob Landley und dann in der offiziellen Version von tcc für Version 0.9.24 behoben.

Version 0.9.25 ist die erste Version, die 64 Bit unterstützt.

TCC hat eine aktive Mailingliste und die aktuelle Version von Bellard ist über Git zugänglich .

benutzen

Die bekanntesten Verwendungen von tcc sind:

Verweise

  1. Verschleierter kleiner C-Compiler  " (abgerufen am 5. April 2019 )
  2. "  http://repo.or.cz/tinycc.git/commit/d348a9a51d32cece842b7885d27a411436d7887b  " (abgerufen am 19. Januar 2018 )
  3. TODO-Liste . Arrays mit variabler Länge (VLA) wurden in TCC 0.9.26 hinzugefügt. [1]
  4. Bellard, Fabrice. Verschleierte kleine C-Kompilierung
  5. grischka, http://lists.gnu.org/archive/html/tinycc-devel/2005-09/msg00054.html GCC von TCC (einige Korrekturen)], 29. September 2005
  6. Wheeler, David A. Gegen vertrauensvolles Vertrauen durch vielfältiges Double-Compiling . ACSAC.
  7. Cinpy (Archiv)

Siehe auch

Externe Links