OSD Home
GCC
What's not to like about GCC? :)
- Free
- Open source
- Targets x86, PowerPC, 680x0, ARM, Hitachi SuperH, MIPS, and other
(mainly 32-bit) CPUs
- Hosted under DOS, Windows, Linux and other OSes
- Much more flexible than commercial compilers
- High quality; fewer bugs than commercial compilers
DJGPP mirror sites:
The absolute minimum you need to download (NNNN is version number):
- v2gnu/gccNNNNb.zip (C compiler)
- v2gnu/bnuNNNNb.zip (binutils)
|
- v2/djdevNNN.zip (library files)
|
It is strongly recommended that you download these as well:
- v2/faqNNNb.zip (DJGPP FAQ)
- v2gnu/gzpNNNNb.zip (gzip)
- v2gnu/tarNNNNb.zip (tar)
|
- v2misc/csdpmiNb.zip (DPMI server)
- v2gnu/makNNNNb.zip (GNU Make)
- v2apps/rhideNNb.zip (RHIDE)
- v2gnu/sedNNb.zip (sed)
|
Support: news:comp.os.msdos.djgpp.
You can also
read this newsgroup via Google, or via mailing list (see
the DJGPP FAQ).
MinGW32 is smaller than CygWin because it does not have the CygWin DLL
or UNIX compatability baggage.
GCC for Linux
GCC comes with most Linux distributions. Check the CDs or download site
from where you got Linux.
Other 32-bit C compilers
You must register with Borland to download this compiler. It compiles
code much more quickly than MinGW. This compiler can not be used
to make 16-bit programs.
FTP:
http://downloads.openwatcom.org/ftp/11.0c/zips/
To develop 32-bit programs under DOS, download these files:
- core_all.zip (core binaries; all hosts)
- clib_hdr.zip (C runtime library header files)
- clib_a32.zip (C runtime libraries; all 32-bit targets)
|
- core_binw.zip (Core binaries; DOS host)
- c_binw.zip (C compiler; DOS host)
- clib_d32.zip (C runtime libraries; 32-bit DOS)
|
You will also need the free CauseWay DOS extender:
http://www.devoresoftware.com/freesource/cwsrc.htm. Get files
cwsystem.lnk, cwdstub.exe, and cwstub.exe
from this archive, put them in the binw directory, and add
the following line to file binw\wlink.lnk:
@%watcom%\binw\cwsystem.lnk
Now you can link 32-bit DOS executables by saying
wlink SYSTEM causeway ...
16-bit C compilers
FTP:
http://downloads.openwatcom.org/ftp/11.0c/zips/
To develop 16-bit programs under DOS, download these files:
- core_all.zip (core binaries; all hosts)
- clib_hdr.zip (C runtime library header files)
- clib_a16.zip (C runtime libraries; all 16-bit targets)
|
- core_binw.zip (Core binaries; DOS host)
- c_binw.zip (C compiler; DOS host)
- clib_d16.zip (C runtime libraries; 16-bit DOS)
|
Dev86 is the only Linux compiler I know of that makes 16-bit code.
Other compilers
Assemblers
NASM produces 16- or 32-bit code, and can be used with Linux, DOS,
Windows, or OS/2.
TASM (Borland's assembler) is commercial software (!)
Free source code is not very useful if you must buy the software tools
needed to build it.
MASM (Microsoft's assembler)
MASM is available from Microsoft as
part of a service pack for Visual C++ 6.0
Linkers
Linker comparison chart
similar to Dark Fiber's
Debuggers
Note that OS kernels can't be debugged like regular applications.
Bochs PC simulator
Disk tools
[*] WARNING: DOS RAWRITE writes anywhere from 3 sectors to
one entire track at a time. If used to install a bootsector, it
will overwrite the sectors beyond the bootsector (e.g. the first FAT).
RawWrite for Windows may behave in the same way.
Other tools
ELF binutils for DJGPP:
Note that the GRUB bootloader will load a
kernel in any file format by using the a.out kludge -- the kernel
need not be ELF.
ALIB: http://alink.sourceforge.net
Convert TASM code to AT&T:
ftp://x2ftp.oulu.fi/pub/msdos/programming/convert/ta2asv08.zip
Convert NASM code to AT&T:
http://www.niksula.cs.hut.fi/~mtiihone/intel2gas