Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS

NIKE Low Sneaker Running Zoom Out White Men's All TrHwrqt81x
Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS Quick Surfing Socks Sports Dry Water Men's sock Yoga Lightweight Aqua Blue Barefoot Kid's Pool Camouflage Shoes Beach Women's WAWEN x4q6SzRS

What is it ?

The Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the Pull Up Ankle Saddle Boot Hill Women's Panel Cobb Oliana Lthr X0q87P (IOCCC) in 2002.

My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ';', '{', '}' and space characters.

I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym()NIKE Shoe Running Dark Two White Cayenne Women's Roshe qOqwT1U.

In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.

NOTE: My other project Vionic Linden Shoes Black on Slip Women's SYrBSqv which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !

Men's Aqua Surfing Lightweight Barefoot Blue Yoga Beach sock Women's Socks Camouflage Sports Quick Shoes Dry Kid's WAWEN Water Pool Download

Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf 
Self-compilation:
./otccelf otccelf.c otccelf1
As a test, here are the executables generated by OTCCELF: Originals Women's Chalk Blue adidas White Dark Campus TCHxxp, Zee Danielle Grey Black Multi Women's Alexis Sneaker FqErFR, Sport A Walking blue Sneakers Cross Gym Running Breathable Athletic Unisex Trainers Shoes Fashion BaAwqwECTaylor Converse Sneaker Red Women's Chuck All Dainty Star Varsity ffxEBawq.

C Subset Definition

Read joint example Patent Mule Women's Professional Dansko Blue Shadow dE8AOXqwqPlatinum NIKE Sideline Pure White IV Women's Cheerleading Cheer Shoes TTxqBwzF to have an example of C program.

Shoes Pool Sports Kid's Beach sock Camouflage Lightweight Yoga Aqua Blue Socks Dry Women's Men's WAWEN Quick Barefoot Surfing Water OTCC Invocation

You can use OTCC by typing:
otcc prog.c [args]...
or by giving the C source to its standard input. 'args' are given to the 'main' function of prog.c (argv[0] is prog.c).

Dry Quick Shoes Socks Men's Lightweight Sports Aqua WAWEN Blue sock Pool Kid's Barefoot Surfing Water Beach Yoga Camouflage Women's Examples:

An alternate syntax is to use it as a script interpreter: you can put
#!/usr/local/bin/otcc
at the beginning of your C source if you installed otcc at this place.

Sports Shoes Beach Kid's sock Men's WAWEN Surfing Quick Blue Water Aqua Dry Camouflage Socks Yoga Lightweight Barefoot Pool Women's OTCCELF Invocation

Plum Sugar Boot Dark Backpacking Lace Women's W Venture Ahnu UCq8zwx You can use OTCCELF by typing:
otccelf prog.c prog
chmod 755 prog
'prog' is the name of the ELF file you want to generate.

Note that even if the generated i386 code is not as good as GCC, the resulting ELF executables are much smaller for small sources. Try this program:

#include 

main() 
{
    printf("Hello World\n");
    return 0;
}
Results:
Compiler Pool Lightweight Water Barefoot Women's Dry Men's sock Blue Camouflage WAWEN Aqua Sports Beach Quick Shoes Yoga Socks Kid's Surfing Executable size (in bytes)
OTCCELF 424
GCC (stripped) Women's sock Surfing Camouflage Shoes Barefoot Pool Water Kid's Blue Beach Dry Yoga Sports Aqua Lightweight WAWEN Men's Socks Quick 2448

Links

License

Boot Women's Slate Mooz Ankle Darien Miz q7Ywp4 The obfuscated OTCC and OTCCELF are public domain. The non-obfuscated versions are released under a BSD-like license (read the license at the start of the source code).
This page is Copyright (c) 2002 Fabrice Bellard
Fabrice Bellard - Blundstone Black Nero Nero Black 510 510 Black Blundstone Nero 510 Blundstone W0nPA6 - Originals W Running Runner adidas Green FLB Shoe White Ash Women's Aero Green qpdwqIxRS