Lille C-kompilering

Lille C-kompilering

Beskrivelse af Tiny C Compiler 0.9.23 Windows-hjælp en.png-billede. Information
Skaberen Fabrice Bellard
Første version 2002
Sidste version 0.9.27 (13. december 2017)
Depositum repo.or.cz/tinycc.git
Skrevet i C og montør
Support sprog VS
Operativ system Linux , Microsoft Windows og Unix
Miljø X86 , ARM-arkitektur og x86_64
Type Kompilator
Licens GNU Lesser General Public License version 2.1 ( d )
Internet side bellard.org/tcc

Tiny C Compiler (tcc, lille C compiler ) er en fuldt udstyret x86 , x86-64 og ARM C compiler udviklet af Fabrice Bellard . Det kan bruges på Unix , Linux og Microsoft Windows siden version 0.9.26 (fra 15. februar 2013). Den distribueres under GNU Lesser General Public License (GNU LGPL).

ANSI C og den nye ISO C99- standard understøttes især godt af tcc  ; det er også kompatibelt med mange GNU C-udvidelser, såsom indbygget samling . At gøre tcc fuldt kompatibel kan dog gøre det betydeligt langsommere. Især giver den ikke trigraph-håndtering , korrekt type og expressionskontrol.

Kapaciteter

Dens licens giver alle mulighed for at bruge, ændre og / eller omfordele. Det kan bruges til at udvikle open source eller proprietær software.

Historie

tcc har sin oprindelse i OTCC ( Obsfucated Tiny C Compiler ), et program, som Bellard skrev for at vinde IOCCC ( Internation Obfuscated C Code Contest ) i 2002. Siden da har han forbedret og "nedgraderet" det. mørkere "programmet til at producere. tcc .

Nuværende tilstand

Udviklingen af tcc sænkes, fordi Fabrice Bellard har travlt med andre projekter. Der findes dog modificerede versioner, såsom Landleys Mercurial-gren , Dave Dodges samling af uofficielle tcc-patches , Debian- og kfreebsd-downstream-patches og grischkas gcc-patches.

Version 0.9.23 er udsat for en sårbarhed, der er klassificeret som CVE-2006-0635 eller sårbarhed 22956 for Open Source Sårbarhedsdatabase . Rapporten er, at tcc " indeholder en fejl, der kan have sikkerhedskomplikationer for det program, der er kompileret med det. Compileren kan ikke returnere en usigneret værdi af størrelsen på operatoren , hvilket resulterer i et potentielt overløb af heltal i dem. Objekter, som den kompilerer. " Dette fejl er blevet rettet i Rob Landleys gaffel og derefter i den officielle version af tcc til version 0.9.24.

Version 0.9.25 er den første version, der understøtter 64 bit.

TCC har en aktiv postliste , og den aktuelle version af Bellard er tilgængelig fra git .

brug

De mest kendte anvendelser af tcc er:

Referencer

  1. Obfuscated Tiny C Compiler  " (adgang til 5. april 2019 )
  2. "  http://repo.or.cz/tinycc.git/commit/d348a9a51d32cece842b7885d27a411436d7887b  " (adgang 19. januar 2018 )
  3. TODO-liste . Arrangementer med variabel længde (VLA) blev tilføjet i TCC 0.9.26. [1]
  4. Bellard, Fabrice. Overdækket lille C-kompilering
  5. grischka, http://lists.gnu.org/archive/html/tinycc-devel/2005-09/msg00054.html GCC af TCC (nogle rettelser)], 29. sep 2005
  6. Wheeler, David A. Modvirker tillidsfuld tillid gennem forskellig dobbeltkompilering . ACSAC.
  7. Cinpy (arkiv)

Se også

eksterne links