Alien-TinyCCx

 view release on metacpan or  search on metacpan

src/tcc-doc.texi  view on Meta::CPAN

\input texinfo @c -*- texinfo -*-
@c %**start of header
@setfilename tcc-doc.info
@settitle Tiny C Compiler Reference Documentation
@dircategory Software development
@direntry
* TCC: (tcc-doc).               The Tiny C Compiler.
@end direntry
@c %**end of header

@include config.texi

@iftex
@titlepage
@afourpaper
@sp 7
@center @titlefont{Tiny C Compiler Reference Documentation}
@sp 3
@end titlepage
@headings double
@end iftex

@contents

@node Top, Introduction, (dir), (dir)
@top Tiny C Compiler Reference Documentation

This manual documents version @value{VERSION} of the Tiny C Compiler.

@menu
* Introduction::                Introduction to tcc.
* Invoke::                      Invocation of tcc (command line, options).
* Clang::                       ANSI C and extensions.
* asm::                         Assembler syntax.
* linker::                      Output file generation and supported targets.
* Bounds::                      Automatic bounds-checking of C code.
* Libtcc::                      The libtcc library.
* devel::                       Guide for Developers.
@end menu


@node Introduction
@chapter Introduction

TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike other C
compilers, it is meant to be self-relying: you do not need an
external assembler or linker because TCC does that for you.

TCC compiles so @emph{fast} that even for big projects @code{Makefile}s may
not be necessary.

TCC not only supports ANSI C, but also most of the new ISO C99
standard and many GNUC extensions including inline assembly.

TCC can also be used to make @emph{C scripts}, i.e. pieces of C source
that you run as a Perl or Python script. Compilation is so fast that
your script will be as fast as if it was an executable.

TCC can also automatically generate memory and bound checks
(@pxref{Bounds}) while allowing all C pointers operations. TCC can do
these checks even if non patched libraries are used.

With @code{libtcc}, you can use TCC as a backend for dynamic code
generation (@pxref{Libtcc}).

TCC mainly supports the i386 target on Linux and Windows. There are alpha
ports for the ARM (@code{arm-tcc}) and the TMS320C67xx targets
(@code{c67-tcc}). More information about the ARM port is available at
@url{http://lists.gnu.org/archive/html/tinycc-devel/2003-10/msg00044.html}.

For usage on Windows, see also @url{tcc-win32.txt}.

@node Invoke
@chapter Command line invocation

@section Quick start



( run in 3.169 seconds using v1.01-cache-2.11-cpan-5735350b133 )