Orange C/C++ Compiler Version 6.0.70.2

RSS Feed
LADSoft Home Page


The Orange C/C++ Compiler is new work which includes an optimizing compiler, a tool chain, and an IDE.  The compiler itself uses various standard techniques, as well as some interesting techniques mentioned in literature.

This compiler has support for the various C standards through C11, and full support for C++ 14.  The IDE for the compiler is a full featured C/C++ language IDE including a colorizing editor with code completion, integrated make facility, debugger, and a WIN32 resource editor.  

The tool chain is highly generic and the possibility exists to customize it for embedded platforms (or for that matter for example for other operating systems) using various linker customization files along with backend code generation programs.  The existing backend code generation programs support WIN32 and MSDOS executable formats, along with a backend generator that will output Intel and Motorola hex files.  The assembler uses a simple architecture description language to customize the code generation.  The C Run time library this compiler uses is an enhancement of the RTL used by CC386.  The Run time library in this package has WIN32 headers and an import library, many windows programs will compile with it although there are a few incompatibilities.  

Documentation for this compiler and toolchain may be found at http://orangec.readthedocs.io/en/latest/Tools/.
Continuous integration for the project is being done at https://ci.appveyor.com/project/LADSoft/orangec and you may be able to find a working beta of the next version of the compiler there.
An interesting variation on this compiler is the MSIL version which can generate either DLL or EXE files for .net.

This compiler will run on WIN32 and also on DOS, and generate 32-bit programs for both.   However, unlike in CC386, the DOS version is the same build as the WIN32 version, and relies on Japheth's HXDOS extender to operate in DOS.  But it will still build traditional DPMI targets e.g. for DOS32A and other extenders; the only feature missing that the DOS version of CC386 had is support for far pointers.

This version of the compiler and toolset was compiled in Visual Studio 2015 Express.   Recent work has also resulted in build scripts for MINGW,
OPENWATCOM, CLANG.

Some of the applications which have been compiled and run successfully with this compiler and toolset include:



Compression programs are especially stressful for a compiler which is why there are so many of them...  I regularly test with these programs and with a variety of smaller applications that have had problems in the past.

This toolchain was also initially tested by compiling the CC386 toolchain, and by compiling the ORANGEC compiler itself, with this toolchain.

The future directions of this compiler are as follows:


This compiler is released under a GPL V3 license.

The source code is now on GITHUB.

This compiler is at version 6.0.70.2 and has now completed Github Milestone 3. We are partway through running the tests that come with the LIBCXX library
Release Date June 25, 2023


ProductSHA256 ChecksumSize
Win32 setup package (WIN32 installer) f295cf53c2c0ae3abdd97150a1ac9ed45f36e17682cb4292da0e31de805add3f 9MB
MSDOS setup package (MSDOS executable) 922e1856053757bd55b1e1ec2adeaf3034d0bd4e08677cc51049fd1d2b04f88d 8MB
Zipped version of compiler executables c24285cc5c78b64fd1279f115e23de9c91a01ccb39d38cdb2210c32a7032a0c1 12MB
Source code for compiler + RTL 248df88e47fa4d757501d4fe2f1e6b07d2ec8520fbe000861e52f5749c0ddd56 27MB