Orange C/C++ Compiler Version 6.0.40.1

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.40.1
Release Date Jan 21, 2019


ProductSHA256 ChecksumSize
Win32 setup package (WIN32 installer) 01c0806b701f05ec4b08cdb1f2df118cafeb18fa8ae927cc2ae72c6fb2b367b4 9MB
MSDOS setup package (MSDOS executable) 99bca383cb8a219e51f471058179e444a51febc866dadfb46badb2d45a23102d 8MB
Zipped version of compiler executables f9a56b22688d0fafb8227b35f48fa4fff29c4115327413d56760d2ad1e8bd01a 12MB
Source code for compiler + RTL 338ff48b8bd57fbff1d69e6df2fb1889eda0e31debd64eba14b67c4b7048777b 27MB