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] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ameziti
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2
<html><head>
3
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
   <title> TCC : Tiny C Compiler</title>
5
</head>
6
<body>
7
<img src="TCC%20%20%20Tiny%20C%20Compiler_fichiers/tcc-logo.png">
8
<div><b><font size="+3">Tiny C Compiler</font></b></div>
9
<h2>News</h2>
10
 
11
(May 20, 2009) <a href="http://www.tinycc.org/">TCC</a> version 0.9.25
12
is out thanks to Grischka (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). TCC
13
version 0.9.25 is the first that supports the x86-64 target. Thanks
14
to Shinichiro Hamaji for this.
15
<p>
16
(Apr 1, 2008) <a href="http://www.tinycc.org/">TCC</a> version 0.9.24
17
is out thanks to Grischka (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). TCC
18
now supports compilation from standard input and the arm eabi.
19
</p><p>
20
(Jun 17, 2005) <a href="http://www.tinycc.org/">TCC</a> version 0.9.23
21
is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). This is the first
22
version with support for the Windows target.
23
</p><p>
24
(Nov 8, 2004) <a href="http://www.tinycc.org/">TCC</a> version 0.9.22
25
is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). Linux kernel
26
compilation is 30% faster (10 seconds on a 2.4 GHz Pentium 4).
27
</p><p>
28
(Oct 25, 2004) <a href="http://www.tinycc.org/">TCC</a> version 0.9.21
29
is out (<a href="http://bellard.org/tcc/changelog.html">Changelog</a>). This version is the
30
first one able to build a bootable Linux kernel with only a few
31
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
32
boot a Linux kernel directly from its source code.
33
 
34
</p><p> NOTE: if you want to compile the Linux kernel with TCC, you
35
must use a custom build script as in TCCBOOT . I never tried to
36
compile the Linux kernel with TinyCC and the standard Linux
37
Makefiles.
38
</p><p>
39
 
40
</p><h2>Features</h2>
41
<ul>
42
 
43
<li> <b>SMALL!</b> You can compile and execute C code everywhere, for
44
  example on rescue disks (about 100KB for x86 TCC executable,
45
  including C preprocessor, C compiler, assembler and linker).</li>
46
 
47
<li> <b>FAST!</b> tcc generates x86 code. No byte code
48
  overhead. Compile, assemble and link several times <a href="#speed">faster</a> than <tt>GCC</tt>.</li>
49
 
50
<li> <b>UNLIMITED!</b> Any C dynamic library can be used directly. TCC is
51
  heading torward full <b>ISOC99</b> compliance. TCC can of course compile
52
  itself.</li>
53
 
54
<li> <b>SAFE!</b> tcc includes an optional <b>memory and bound
55
checker</b>. Bound checked code can be mixed freely with standard
56
code.
57
 
58
</li><li> Compile and execute C source directly. No linking or assembly
59
  necessary. Full C preprocessor and GNU-like assembler
60
  included. </li>
61
 
62
<li> C script supported : just add <tt>'#!/usr/local/bin/tcc -run'</tt> at the first
63
  line of your C source, and execute it directly from the command
64
  line.</li>
65
 
66
<li> With <code>libtcc</code>, you can use TCC as a backend for dynamic code
67
generation. </li>
68
 
69
</ul>
70
 
71
<h2>Download</h2>
72
 
73
<table border="1">
74
<tbody><tr> <td>File </td><td> Comment
75
</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
76
</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
77
</td></tr></tbody></table>
78
<p>
79
<a href="http://packages.debian.org/unstable/devel/tcc.html">Debian
80
package</a> (maintained by Romain Francoise). Package for stable
81
Debian also <a href="http://people.debian.org/%7Erfrancoise/woody/">available</a>.
82
</p><p>
83
<a href="http://bitwalk-hp.hp.infoseek.co.jp/index.html#tcc">RPM
84
package for Fedora Core</a>.
85
 
86
</p><h2>Compilation Speed</h2>
87
<a name="speed"></a>
88
 
89
 
90
Compilation speed for the <a href="http://links.twibright.com/download.php">Links
91
Browser project</a>. There are 76936 lines (including
92
headers). 1950947 lines (67.2 MBytes) are compiled because the same headers are
93
included in many files. TinyCC is about <b>9 times</b> faster than
94
GCC.
95
<p>
96
</p><table border="1"><tbody><tr><td>Compiler</td><td>Time(s)</td><td>lines/second</td><td>MBytes/second</td>
97
 
98
</tr><tr> <td>TinyCC 0.9.22</td> <td>2.27</td> <td>859000</td> <td>29.6</td>
99
 
100
</tr><tr> <td>GCC 3.2 -O0</td> <td>20.0</td> <td>98000</td> <td>3.4</td>
101
 
102
</tr></tbody></table>
103
<br>
104
Measures were done on a 2.4 GHz Pentium 4. Real time is measured. Compilation
105
time includes compilation, assembly and linking.
106
 
107
<h2><a href="http://bellard.org/tcc/tcc-doc.html">Online Documentation</a></h2>
108
 
109
<h2>You want to help ?</h2>
110
Here are some suggestions:
111
<ul>
112
<li> Report bugs to the mailing list (and eventually fix them).</li>
113
</ul>
114
 
115
<h2>Links</h2>
116
<ul>
117
<li><a href="http://mail.freesoftware.fsf.org/mailman/listinfo/tinycc-devel">TinyCC mailing list</a>
118
</li><li><a href="http://savannah.gnu.org/projects/tinycc">Savannah project page and CVS repository</a>
119
</li><li><a href="http://bellard.org/otcc/">OTCC - The smallest self
120
compiling pseudo C compiler</a>
121
</li><li><a href="http://numcalc.com/">NumCalc.com</a> - The Scientific Web Calculator
122
</li><li><a href="http://www.landley.net/code/tinycc/">TinyCC fork</a> by Rob Landley</li>
123
<li><a href="http://llvm.org/">LLVM Compiler Infrastructure</a></li><a href="http://llvm.org/">
124
</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
125
</li><li><a href="http://www.cminusminus.org/">C--</a> - An intermediate language for compilers
126
</li><li><a href="http://gcc.gnu.org/">The GNU C Compiler</a></li>
127
<li><a href="http://www.cs.princeton.edu/software/lcc/">The LCC Compiler</a></li>
128
<li><a href="http://sdcc.sourceforge.net/">The Small Device C Compiler</a></li>
129
<li><a href="http://www.research.att.com/projects/cyclone/">Cyclone</a>, A Safe Dialect of C</li>
130
<li><a href="http://www.digitalmars.com/d/">The D language</a>
131
</li><li><a href="http://www.lysator.liu.se/c/"> Programming in C </a></li>
132
<li>The <a href="http://www.merd.net/pixel/language-study/scripting-language/">Scriptometer</a> evaluates various scripting
133
languages (including TCC).</li>
134
<li><a href="http://www.lib.uchicago.edu/keith/crisis/"> Languages comparisons </a></li>
135
<li><a href="http://www.softintegration.com/">Ch, a commercial C/C++ interpreter</a></li>
136
</ul>
137
 
138
<h2>License</h2>
139
 
140
TCC is distributed under the GNU Lesser General Public License.
141
 
142
<hr>
143
<table nosave="" cellpadding="0" cellspacing="0">
144
<tbody><tr nosave="" align="CENTER" valign="BASELINE">
145
<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>
146
 
147
<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>
148
</tr>
149
</tbody></table>
150
 
151
<hr>
152
Copyright (c) 2001-2009 Fabrice Bellard <hr>
153
 
154
Fabrice Bellard - <a href="http://bellard.org/">
155
http://bellard.org/ </a> - <a href="http://www.tinycc.org/"> http://www.tinycc.org/ </a>
156
 
157
 
158
 
159
</body></html>

powered by: WebSVN 2.1.0

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