updated
[tinycc.git] / README
blob776959923387492d5515fe1e6b4e56f668131ced
1 Tiny C Compiler - Make the best x86 Linux C compiler in less than 8192 bytes.
2 -----------------------------------------------------------------------------
4 Differences with ANSI C:
5 -----------------------
7 - Preprocessor: only '#define xx yy' is supported. Recursive defined
8   supported. All other directives are not supported.
10 - Types: int, char, void, pointers and functions are
11   supported. Function pointers are also supported. struct, union and
12   typedef not supported.
14 - Operations: 'x=' not supported.
16 - Keywords: the following keywords are supported: int void char if
17   else while break return for.
19 - Symbol scope: local variables supported, but they cannot have the
20   same name as global variables.
22 Features:
23 --------
25 - SMALL! You can compile and execute C code everywhere, for example on
26   rescue disks.
28 - FAST! tcc generate x86 code. No byte code overhead.
30 - Compile and execute C source directly. No linking necessary.
32 - C script supported : just add '#!/usr/bin/tcc' at the first line of
33   your C source, and execute it directly from the command line !
35 - All C library functions can be used via dynamic linking.
37 -------------------------------------------------------------------------
38 An even smaller compiler can be build from tcc by activating the
39 define 'TINY'. The following changes from tcc:
41 - Comments are not supported.
43 - Parsing: No char constants. No '\r' and '\t' in strings. Only base
44   10 numbers are supported.
46 - no 'for' loops.
48 - Operations: '?:', ',', 'x=', shifts, '&&', '||', '!', '~' not supported.