OpenCores
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 2

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>

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.