Switch to newer tccpe.c (includes support for resources)

This commit is contained in:
grischka
2007-12-19 17:36:42 +00:00
parent adb1456472
commit 5342b32eef
6 changed files with 1354 additions and 999 deletions

View File

@ -1,115 +1,126 @@
TinyCC-PE
---------
TinyCC-PE
---------
TinyCC (aka TCC) is a small but hyperfast C compiler,
written by Fabrice Bellard,
TinyCC (aka TCC) is a small but hyperfast C compiler,
written by Fabrice Bellard,
TinyCC-PE is the TinyCC compiler with an extension to
write PE executables for MS-Windows.
TinyCC-PE is the TinyCC compiler with an extension to
write PE executables for MS-Windows.
Features:
---------
Features:
---------
TinyCC-PE can produce console applications, native windows
GUI programs and DLL's.
TinyCC-PE can produce console applications, native windows
GUI programs and DLL's.
Most of the features pointed out by Fabrice Bellard for the
original version are still valid, i.e:
Most of the features pointed out by Fabrice Bellard for the
original version are still valid, i.e:
- SMALL! The package with ~400kb includes a complete C-compiler
with header files for console and GUI applications.
- SMALL! The package with ~400kb includes a complete C-compiler
with header files for console and GUI applications.
- With the -run switch you can run C-sources without any
linking directly from the command line.
- With the -run switch you can run C-sources without any
linking directly from the command line.
- TCC can of course compile itself.
- TCC can of course compile itself.
Compilation: (omit that if you use the binary ZIP package)
------------
You must use the MinGW and MSYS tools available at
http://www.mingw.org to compile TCC for Windows. Untar the TCC
archive and type in the MSYS shell:
./configure
make
make install
Compilation: (omit that if you use the binary ZIP package)
------------
You must use the MinGW and MSYS tools available at
http://www.mingw.org to compile TCC for Windows. Untar the TCC
archive and type in the MSYS shell:
./configure
make
make install
TCC is installed in c:\Program Files\tcc
TCC is installed in c:\Program Files\tcc
Installation: (from the binary ZIP package)
-------------
Just unzip the package to a directory anywhere on your computer.
Alternatively you can use win32\build-tcc.bat to compile TCC
with just gcc and ar from MINGW. To install, copy the entire
contents of the win32 directory to where you want.
Examples:
---------
Installation: (from the binary ZIP package)
-------------
For the 'Fibonacci' console example type from the command line:
tcc examples\fib.c
Just unzip the package to a directory anywhere on your computer.
For the 'Hello Windows' GUI example:
Examples:
---------
tcc examples\hello_win.c
For the 'Fibonacci' console example type from the command line:
tcc examples\fib.c
For the 'Hello Windows' GUI example:
tcc examples\hello_win.c
For the 'Hello DLL' example:
tcc -shared examples\dll.c
tcc examples\hello_dll.c examples\dll.def
For the 'Hello DLL' example:
Import Definitions:
-------------------
tcc -shared examples\dll.c
tcc examples\hello_dll.c examples\dll.def
TinyCC-PE searches and reads import definition files similar
to libraries.
The included 'tiny_impdef' program may be used to make .def files
for any DLL, e.g for an 'opengl32.def':
tiny_impdef.exe opengl32.dll
or to the same effect:
tcc -run tiny_impdef.c opengl32.dll
Import Definitions:
-------------------
Resource Files:
---------------
TinyCC-PE searches and reads import definition files similar
to libraries.
TinyCC-PE can now link windows resources in coff format as generated
by MINGW's windres.exe. For example:
The included 'tiny_impdef' program may be used to make .def files
for any DLL, e.g for an 'opengl32.def':
tiny_impdef.exe opengl32.dll
or to the same effect:
tcc -lkernel32 -run tiny_impdef.c opengl32.dll
windres -O coff app.rc -o appres.o
tcc app.c appres.o -o app.exe
Header Files:
-------------
Header Files:
-------------
The system header files, except '_mingw.h', are from the
2.0 mingw distribution. See also: http://www.mingw.org/
The system header files, except '_mingw.h', are from the
3.7 mingw distribution. See also: http://www.mingw.org/
Compile TCC:
------------
Compile TCC:
------------
With TCC itself just say:
With TCC itself just say:
tcc src\tcc.c -lkernel32 -o tcc.new.exe
tcc src\tcc.c -o tcc.new.exe
Other compilers like mingw-gcc or msvc work as well.
To make libtcc1.a, you need 'ar' from the mingw binutils.
Other compilers like mingw-gcc or msvc work as well.
To make libtcc1.a, you need 'ar' from the mingw binutils.
Documentation and License:
--------------------------
Documentation and License:
--------------------------
TCC is distributed under the GNU Lesser General Public License
(see COPYING file).
TCC is distributed under the GNU Lesser General Public License
(see COPYING file).
Please read the original tcc-doc.html to have all the features
of TCC. Also visit: http://fabrice.bellard.free.fr/tcc/
--------------------------------------------
09.Apr.2005 - grischka@users.sourceforge.net
Please read the original tcc-doc.html to have all the features
of TCC. Also visit: http://fabrice.bellard.free.fr/tcc/
--
grischka@users.sourceforge.net