mail to:
jebe...@bigfoot.com
--
Send compilers articles to comp...@iecc.com, meta-mail to
compiler...@iecc.com. Archives at http://www.iecc.com/compilers
Downloading the whole thing is just 2MB... not a big deal this days for a whole
compiler system. Setting it up means just running 'Setuplcc".
> I never seem to find it mentioned anywhere
> other than the "free compilers" listing. Is there anyone out there using it?
There are several dozen people downloading it every day. I receive many messages
per day from users all around the world. But it is true. Nobody speaks about
it, and I do not have any public relations budget.. actually not any budget at
all.
Give it a try at:
http://www.cs.virginia.edu/~lcc-win32
--
Jacob Navia Logiciels/Informatique
41 rue Maurice Ravel Tel 01 48.23.51.44
93430 Villetaneuse Fax 01 48.23.95.39
France
Lcc-win32: a Free compiler system for windows95/NT
--------------------------------------------------
Lcc-win32 consists of the following subsystems:
1) Compiler (pre-processor, compiler, assembler)
2) Linker
3) IDE
4) Debugger
5) Resource compiler
6) Resource editor
7) Libraries and header files for compiling under windows
8) Utilities (librarian, import library generator for dlls, make, lburg)
The compiler is based in the work of C. Fraser and D. Hanson, 'A portable C
compiler'. It has been enhanced with a:
a) Peephole optimizer
b) Higher level optimizer
c) Modified to accept all standard windows keywords that are not part of the
ANSI standard: (_stdcall, _declspec, and other things like structured
exception handling)
d) There is full support for all MMX instructions, that are implemented as
C level pseudo functions that work in vectors of 64bit elements. There is
full support (using the same technique) for many intrinsics that use special
CPU instructions.
The generated code is very small, and it is roughly 10% slower only, in
normal applications (not benchmarks) than other compilers. In most applications
the speed of the generated code is the same.
As an example, here are the figures for the compilation of gcc 2.7.2.1 comparing
lcc-win32 to MSVC 4.2. (The source set of gcc 2.7 is around 10MB of C)
MSVC was set with optimization for size, since those optimizations correspond
to the ones lcc-win32 does.
lcc-win32 MSVC4.2
Compilation Time: 153 sec 235 sec
Code size: 1 249 792 1 331 712 bytes
Image size: 1 605 632 1 810 432 bytes
gcc -O9 win32.c 47.8 sec 41.369 sec
link time: (stripped) 2.1 sec 3 sec
IDE timings:
Time for Wedit to load all 88 source files (10MB): 7 sec
Time for msvc 4.2 to load all 88 sources: 16 sec
Time for wedit's debugger for loading all debug info and stop at 'main': 3 sec.
Time for MSVC's debugger to get into 'main' and stop: 9 sec.
The IDE for the compiler supports all important features of an IDE (real-time
syntax coloring, utilities like grep, diff, built in) and many many other
features not found in other IDEs: object file cross referencing, software
metrics, character string extraction into a table, automatic generation of
software documentation, versioning system).
The debug information used by the system corresponds to the NB09 standard as
published by Microsoft. This makes the generated code compatible with their
toolchain.
Note that lcc-win32 is a C compiler, not a C++ compiler.
Where can I find it?
lcc-win32 can be downloaded for free from:
http://www.cs.virginia.edu/~lcc-win32
The sources of the compiler are distributed with the package. For a full set of
sources (linker and other subsystems) you can buy them from the author.
---
Not strictly true......within the gaming community LCC is very much
talked about. It is one of the primary compilers that coders use for
the game Quake 2 to compile their modified DLL's to produce new
mods/patches, and it is the recommend compiling platform to
use. (Unless of course you have access to MVC++ or something....but
even then some peeps still prefer to use LCC for this purpose). There
are also several tutorials on how to use LCC although admittedly,
these are game related.
So don't worry.....you may not have a PR budget, but a segment of the gaming
community is waving the LCC flag!!
Mark
"I had seen a reference to LCC
in comp.compilers, so I thought I would check it out....
Wow. An 11k line ansi compiler. I am impressed.
The documentation and example code was clearly
structured, and I got everything generating proper
code in about three days. A couple more days of
bug chasing and optimizing, and I have a damn good tool.
This has saved me SO much time (it was fun, too).
If the authors are at all into PC games, they can have
a couple free copies with my compliments!"
As I said, at the time I got the mail, I just saved it. Over the
following summer, the DOOM virus hit our lab, but I didn't make the
mental connection. However, in the fall, as performance review time
approached, I began digging up contributions and found the letter
again. This time the connection clicked, and I sent mail to Carmack
thanking him for his LCC encomium. I rapidly received the ftp
password for gathering the beta DOOM II.
Satisfying interchange for all concerned (though of course a lot of
time was lost to DOOM and followons....)
Dennis