Apró C fordító | |
---|---|
| |
Típusú | fordítóprogram |
Szerző | Fabrice Bellard [1] |
Fejlesztő | Fabrice Bellard |
Beírva | C és assembly nyelv |
Operációs rendszer | Linux , Microsoft Windows , KolibriOS |
Első kiadás | 2002 [1] |
Hardver platform | x86 , ARM és x86_64 |
legújabb verzió | 0.9.27 (2017. december 17.) |
Engedély | GNU LGPL |
Weboldal | bellard.org/tcc/ |
Tiny C Compiler ( Eng. Tiny C Compiler - "tiny C compiler"), vagy TinyCC vagy TCC - C fordító x86 platformhoz .
Működik OS Linux , KolibriOS [2] , Microsoft Windows alatt . Léteznek ARM , TMS320C67xx verziók is . Terjesztve a GNU LGPL licenc alatt .
Ezenkívül a könyvtár jelenléte libtcclehetővé teszi a dinamikus kódgenerálást. Ezzel a könyvtárral a felhasználó például lefordíthat egy C programot tartalmazó karakterláncot, majd hozzáférhet a programban definiált bármely globális szimbólumhoz (változóhoz vagy függvényhez). [négy]
A TCC nem csak az ANSI C szabványt támogatja , hanem az új ISO C99 szabvány nagy részét és számos GNU C kiterjesztést , beleértve az inline összeszerelést is. A TCC-nek saját kiterjesztései is vannak, például a számok bináris megjelenítése ( 0b101helyett 5), valamint egy előre meghatározott makró __TINYC__, amely segítségével megállapítható, hogy TCC-t használnak-e. [nyolc]
A TCC-t eredetileg Linux operációs rendszerre fejlesztették ki , de a 0.9.23-as verziótól ( 2005. június 17. ) már Microsoft Windows operációs rendszerben is működik .
A TCC első verzióját az Obfuscated Tiny C Compiler (OTCC) néven fejlesztették ki. Az OTCC egy program, amelyet Fabrice Bellard írt, hogy részt vegyen a 2002 -es International Obfuscated C Code Contest (IOCCC) versenyen [9] (a verseny hivatalos honlapján Fabrice Bellard az OTCC programmal a 2001 -es verseny győztesei között szerepel [10] .) Azóta a Bellar jelentősen kibővítette és érthetőbbé tette a program funkcionalitását.
Jelenleg a TCC projekt tovább fejlődik. Van egy aktív levelezőlista, és a Fabrice Bellard aktuális verziója elérhető a CVS -en keresztül . A TCC hivatalos fejlesztése azonban lelassult, mivel Bellar más projektekkel volt elfoglalva. Jelenleg (2012 áprilisában) egy üzenet lóg a fejlesztő honlapján, hogy már nem foglalkozik fordítói támogatással.
Rob Landley a Mercurial SCM segítségével létrehozta a TCC egy olyan verzióját, amely különféle harmadik féltől származó javításokat tartalmaz.
A fent említetteken kívül vannak más TCC-módosítások és javítások is, mint például Dave Dodge nem hivatalos javításgyűjteménye, Debian és kfreebsd javítások , valamint a grischka GCC javításai.
A TCC 0.9.23-as verziójában a CVE-2006-0635 [11] és a nyílt forráskódú sebezhetőségi adatbázis 22956 [12] számú biztonsági rését fedezték fel . A jelentés szerint a TCC „egy olyan hibát tartalmaz, amely biztonsági problémákat okozhat a vele fordított programokban. A fordító nem képes előjel nélküli operátorértéket visszaadni , ami egész számok túlcsordulásáhozsizeof vezethet a lefordított objektumokban." Ezt a biztonsági rést a 0.9.24-es verzió zárta be.
A TCC alapján elkészült a TCCBOOT (TinyCC Boot Loader) (angol) rendszerbetöltő , amely lehetővé teszi a Linux kernel közvetlen forrásból történő fordítását és indítását.
C programozási nyelv | |
---|---|
Fordítók |
|
Könyvtárak | |
Sajátosságok | |
Néhány leszármazott | |
C és más nyelvek |
|
Kategória:C programozási nyelv |