URL
https://opencores.org/ocsvn/copyblaze/copyblaze/trunk
Subversion Repositories copyblaze
[/] [copyblaze/] [trunk/] [copyblaze/] [sw/] [tools/] [asm/] [pBlazASM/] [tcc/] [TCC Tiny C Compiler.htm] - Rev 67
Go to most recent revision | Compare with Previous | Blame | View Log
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> TCC : Tiny C Compiler</title> </head> <body> <img src="TCC%20%20%20Tiny%20C%20Compiler_fichiers/tcc-logo.png"> <div><b><font size="+3">Tiny C Compiler</font></b></div> <h2>News</h2> (May 20, 2009) <a href="http://www.tinycc.org/">TCC</a> version 0.9.25 is out thanks to Grischka (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). TCC version 0.9.25 is the first that supports the x86-64 target. Thanks to Shinichiro Hamaji for this. <p> (Apr 1, 2008) <a href="http://www.tinycc.org/">TCC</a> version 0.9.24 is out thanks to Grischka (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). TCC now supports compilation from standard input and the arm eabi. </p><p> (Jun 17, 2005) <a href="http://www.tinycc.org/">TCC</a> version 0.9.23 is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). This is the first version with support for the Windows target. </p><p> (Nov 8, 2004) <a href="http://www.tinycc.org/">TCC</a> version 0.9.22 is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). Linux kernel compilation is 30% faster (10 seconds on a 2.4 GHz Pentium 4). </p><p> (Oct 25, 2004) <a href="http://www.tinycc.org/">TCC</a> version 0.9.21 is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). This version is the first one able to build a bootable Linux kernel with only a few patches to the kernel sources. As a demonstration, you can try the <a href="http://bellard.org/tcc/tccboot.html">TCCBOOT</a> boot loader. It is able to compile and boot a Linux kernel directly from its source code. </p><p> NOTE: if you want to compile the Linux kernel with TCC, you must use a custom build script as in TCCBOOT . I never tried to compile the Linux kernel with TinyCC and the standard Linux Makefiles. </p><p> </p><h2>Features</h2> <ul> <li> <b>SMALL!</b> You can compile and execute C code everywhere, for example on rescue disks (about 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker).</li> <li> <b>FAST!</b> tcc generates x86 code. No byte code overhead. Compile, assemble and link several times <a href="#speed">faster</a> than <tt>GCC</tt>.</li> <li> <b>UNLIMITED!</b> Any C dynamic library can be used directly. TCC is heading torward full <b>ISOC99</b> compliance. TCC can of course compile itself.</li> <li> <b>SAFE!</b> tcc includes an optional <b>memory and bound checker</b>. Bound checked code can be mixed freely with standard code. </li><li> Compile and execute C source directly. No linking or assembly necessary. Full C preprocessor and GNU-like assembler included. </li> <li> C script supported : just add <tt>'#!/usr/local/bin/tcc -run'</tt> at the first line of your C source, and execute it directly from the command line.</li> <li> With <code>libtcc</code>, you can use TCC as a backend for dynamic code generation. </li> </ul> <h2>Download</h2> <table border="1"> <tbody><tr> <td>File </td><td> Comment </td></tr><tr> <td><a href="http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25.tar.bz2">tcc-0.9.25.tar.bz2</a> </td><td> Source archive </td></tr><tr> <td><a href="http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25-win32-bin.zip">tcc-0.9.25-win32-bin.zip</a> </td><td> Windows binary distribution </td></tr></tbody></table> <p> <a href="http://packages.debian.org/unstable/devel/tcc.html">Debian package</a> (maintained by Romain Francoise). Package for stable Debian also <a href="http://people.debian.org/%7Erfrancoise/woody/">available</a>. </p><p> <a href="http://bitwalk-hp.hp.infoseek.co.jp/index.html#tcc">RPM package for Fedora Core</a>. </p><h2>Compilation Speed</h2> <a name="speed"></a> Compilation speed for the <a href="http://links.twibright.com/download.php">Links Browser project</a>. There are 76936 lines (including headers). 1950947 lines (67.2 MBytes) are compiled because the same headers are included in many files. TinyCC is about <b>9 times</b> faster than GCC. <p> </p><table border="1"><tbody><tr><td>Compiler</td><td>Time(s)</td><td>lines/second</td><td>MBytes/second</td> </tr><tr> <td>TinyCC 0.9.22</td> <td>2.27</td> <td>859000</td> <td>29.6</td> </tr><tr> <td>GCC 3.2 -O0</td> <td>20.0</td> <td>98000</td> <td>3.4</td> </tr></tbody></table> <br> Measures were done on a 2.4 GHz Pentium 4. Real time is measured. Compilation time includes compilation, assembly and linking. <h2><a href="http://bellard.org/tcc/tcc-doc.html">Online Documentation</a></h2> <h2>You want to help ?</h2> Here are some suggestions: <ul> <li> Report bugs to the mailing list (and eventually fix them).</li> </ul> <h2>Links</h2> <ul> <li><a href="http://mail.freesoftware.fsf.org/mailman/listinfo/tinycc-devel">TinyCC mailing list</a> </li><li><a href="http://savannah.gnu.org/projects/tinycc">Savannah project page and CVS repository</a> </li><li><a href="http://bellard.org/otcc/">OTCC - The smallest self compiling pseudo C compiler</a> </li><li><a href="http://numcalc.com/">NumCalc.com</a> - The Scientific Web Calculator </li><li><a href="http://www.landley.net/code/tinycc/">TinyCC fork</a> by Rob Landley</li> <li><a href="http://llvm.org/">LLVM Compiler Infrastructure</a></li><a href="http://llvm.org/"> </a><li><a href="http://llvm.org/"></a><a href="http://smarteiffel.loria.fr/">SmartEiffel</a> - With TCC you can compile your Eiffel code faster </li><li><a href="http://www.cminusminus.org/">C--</a> - An intermediate language for compilers </li><li><a href="http://gcc.gnu.org/">The GNU C Compiler</a></li> <li><a href="http://www.cs.princeton.edu/software/lcc/">The LCC Compiler</a></li> <li><a href="http://sdcc.sourceforge.net/">The Small Device C Compiler</a></li> <li><a href="http://www.research.att.com/projects/cyclone/">Cyclone</a>, A Safe Dialect of C</li> <li><a href="http://www.digitalmars.com/d/">The D language</a> </li><li><a href="http://www.lysator.liu.se/c/"> Programming in C </a></li> <li>The <a href="http://www.merd.net/pixel/language-study/scripting-language/">Scriptometer</a> evaluates various scripting languages (including TCC).</li> <li><a href="http://www.lib.uchicago.edu/keith/crisis/"> Languages comparisons </a></li> <li><a href="http://www.softintegration.com/">Ch, a commercial C/C++ interpreter</a></li> </ul> <h2>License</h2> TCC is distributed under the GNU Lesser General Public License. <hr> <table nosave="" cellpadding="0" cellspacing="0"> <tbody><tr nosave="" align="CENTER" valign="BASELINE"> <td nosave=""><a href="http://www.anybrowser.org/campaign/"><img src="TCC%20%20%20Tiny%20C%20Compiler_fichiers/anybrowser3.gif" alt="anybrowser" nosave="" height="30" border="0" width="88"></a></td> <td><a href="http://www.linux.org/"><img src="TCC%20%20%20Tiny%20C%20Compiler_fichiers/linux.gif" alt="www.linux.org" nosave="" height="31" border="0" width="88"></a></td> </tr> </tbody></table> <hr> Copyright (c) 2001-2009 Fabrice Bellard <hr> Fabrice Bellard - <a href="http://bellard.org/"> http://bellard.org/ </a> - <a href="http://www.tinycc.org/"> http://www.tinycc.org/ </a> </body></html>
Go to most recent revision | Compare with Previous | Blame | View Log