Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.540.844 Times

Obfuscated Tiny C Compiler

  Date Added: March 17, 2010  |  Visits: 1.010

Obfuscated Tiny C

Report Broken Link
Printer Friendly Version

Product Homepage
Download (109 downloads)

Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (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(). 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 TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC ! Compilation: gcc -O2 otcc.c -o otcc -ldl gcc -O2 otccelf.c -o otccelf Self-compilation: ./otccelf otccelf.c otccelf1.

Requirements: No special requirements
Platforms: Linux
Keyword: C Compiler Compiler Compilers Obfuscated Obfuscated Tiny C Compiler Otcc Programming Small Small C Tiny Tiny C Compiler Very Small
Users rating: 0/10

License: Freeware Size: 4.1 KB
More Reviews or Write Review

Libraries  -  b64 1.2.4
b64 is a very small and simple library that provides Base-64 encoding and decoding, according to RFC-1113, in C and C++. The b64 project is released under the BSD license, which basically means its free for any use, but you cant claim its yours....
358.4 KB  
Development Editors  -  C/C++ Compiler for M16C Series and R8C Family 6.00 Release 00
The C/C++ Compiler for M16C Series and R8C Family package includes the following embedded system development tools: C/C++ compiler : NC30 Optimizing ANSI C compiler with extensions for embedded systems. Assembler : AS30 Produces object code...
Libraries  -  B::C 5.8.8
B::C is Perl compilers C backend. SYNOPSIS perl -MO=C[,OPTIONS] This compiler backend takes Perl source and generates C source code corresponding to the internal structures that perl uses to run your program. When the generated C...
12.2 MB  
Development Editors  -  GoldenSharp
GoldenSharp is a small and easy to use C# IDE + compiler. Best for fast implementations of small console applications - extend your tools beyond windows batch files. Ultra Rapid Tools Development Imagine that you need to rename dozens of files...
Science  -  CDL cycle language, compiler, simulator 1.0.18
Language, compiler and simulator for CDL cycle description language Platforms: OSX, Linux, Cygwin CDL is a C-like language for hardware description; simulator generates C++ models and synthesizable verilog. Includes C++ cycle simulation engine.
463.65 KB  
Bug Trackers  -  Ch Standard Edition 6.1
Ch from SoftIntegration, Inc. is a superset of C interpreter. It is the most complete C interpreter in existence for scripting, plotting and numerical computing. It supports 1990 ISO C Standard (C90), major features in C99, classes in C++, POSIX,...
6.6 MB  
Libraries  -  macstl 0.3.1
macstl is a C++ header library designed to bring the world of generic programming to the Macintosh, and deliver the surprising speed of SIMD in an intuitive cross-platform package. For example, a simple loop calculating a trigonometric function...
174.08 KB  
Web Server Tools  -  C++ Server Pages 1.6
C++ Server Pages (CSP) allows developers to build Dynamic Web Pages and Web Applications by using C++. Existing C++ projects can be ported to the Web by simply including the C++ source code, or by importing the C++ libraries to CSP scripts. It is...
7.85 MB  
Libraries  -  uRadiusLib 0.1
uRadiusLib is a full, small, and easy to use C RADIUS client library. It includes full AAA example code with complete attribute sets. It provides AAA via a very easy C API for your applications. uRadiusLib is based on the Cistron and Livingstone...
38.91 KB  
Libraries  -  libbsl 0.9.1
libbsl (Basic System Library) is a powerful, easy to use and fully thread safe C++ template class library for frequently recurring (machine/OS oriented) programming problems. All fundamental objects in libbsl are freely copyable and shareable...
1.04 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Linux Software  -  SLAX 6.0+
Slax is a modern, portable, small and fast Linux operating system with a modular approach and outstanding design. Despite its small size, Slax provides a wide collection of pre-installed software for daily use, including a well organized graphical...
190 KB  
Linux Software  -  GTK+ 2.5
GTK+, which stands for the GIMP Toolkit, is a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible. GTK+ is written in C with a very object-oriented approach. Language bindings...
60 MB  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB