|
|
| |
NEW! Added a forum for discussions about CC386. See link at left of screen.
CC386 is a general-purpose 32-bit C compiler. It is not an optimizing compiler but given that the code generation is fairly good. There are two versions; one is for MSDOS/DPMI and one is for Win32. The Win32 version has a full-blown IDE capable of editing, building, and debugging windows programs included with it. However at this time debugging support for MSDOS is rudimentary at best and there is no IDE for DOS.
I started working on the compiler itself 8 years ago. It was several years later that I had gather enough third-party tools to make a development package, and first started the task of compiling the package with itself. Over the years there have been a lot of changes and new features. At this point the package is stable enough that I can build all the programs in the entire package with themselves on a regular basis and not have any problems. However, there are still odd bugs being found in various things, if you think you found one please contact the author using the link at the left!
The compiler is more or less ANSI C with the usual K&R back-support. One of the several compiler-related projects being worked on as time goes by is to bring it up to the C99 standard. As it is there is compiler and run-time support for most of the ANSI C language prior to C99. The compiler has most of the usual DOS and WINDOWS extensions, and the DOS version has limited support for far (16:32) pointers.
Other projects being worked on are to create a C++ compiler, to add optimization, and to back-support some type of debugger or perhaps IDE on msdos. All of these projects are underway but will take time.
This version improves the IDE dramatically. A lot of bugs were fixed and some new features added. It runs fairly well on both win ME and win2k
In this version the project file format was altered to be totally incompatible with old versions. It will require you to re-create your projects.
Some of the recently added features are as follows:
* compiles most C99 constructs now (in C99 compatibility mode)
* address various compatibility issues and bugs
* add new windows headers
* hardware breakpoints
* support for debugging NASM assembly code
* updated far pointer support and segment register access
* added typeof keyword
* added _CRX, _DRX, _TRX direct access to registers
* added _fault keyword, like _interrupt but pops exception code
* updated to latest NASM version; modified NASM for virtual C++ segments
* added minimal far pointer support
* added better assembly language support for segmentation
* added direct access to segment registers, e.g. _DS, _ES
You can download the compiler and the source code from the links on the left. The DOS version has a batch file to help install it. The Windows version has a standard windows installation (Inno Setup). The 'Install it yourself' version includes most of the files from both the other versions as a zip file with directory information, so you unzip it (keeping the directory information) then follow the instructions for setting up the environment the compiler and tools need.
|
|
|