BIG "C" compiler comparison thread (Developers)
> > D based on GCC
>
> It's not "D" but "DJGPP".
Anybody here not use this? It's very good, still updated, very robust in features, supports most C99 and modern C++ (ANSI 1998?). My only confusion is why people say, "Back in the day I used to use it ..." when it still exists! (I guess because certain libraries aren't ported??) Good docs, lots of useful utils, good optimizations, sometimes a bit bloated (barely). Good for porting *nix stuff (not that I have, heh). I actually wonder about that comment "Without it, DOS would be dead." because that's probably half-true, at least! Kudos big time to DJ and pals!
> > WATCOM
>
> Its name is "Open Watcom C/C++".
The only no-cost multiplatform 16-/32-bit compiler that runs natively on DOS with sourcecode. Very robust, supports lots of extenders, good docs, confusing linker, a few other nifty tools too (wdis, vi, ctags, wtouch, dmpobj). This is obviously good for HX because of its Win32 output. But the C++ support isn't quite as good/modern as G++. Oh, and no newer Fortran (95, 2003) like GCC has, only old standard F77 (not that I care, I don't understand it).
> > TCC by Fabrice
> > Bellard
>
> Is this used by anyone except you?
I have it installed on Windows but not DOS. It needs MSVCRT.DLL to run (ugh). But it's a nifty compiler (aimed to support C99, not sure how far along it is, but it's supposedly very good/compatible).
> > DigitalMARS
>
> Its name is "Digital Mars C" and "C++, D".
Never actually tried this, but I hear that the 32-bit DOS extender X32 (which is incompatible with some common setups) can access 3 GB of RAM.
> > Old Boreland "Turbo" C compiler 2.0 (closed source freeware)
>
> Borland isn't boring. It works fine for small tools and when you care
> about 8086 compatibility. Borland Turbo C++ 1.01 also supports the C
> language and is newer than Turbo C 2.01.
Small memory footprint, small sized, small output, very fast compilation. Not up-to-date on latest standards (C99, C++0x) but good for 16-bit ANSI stuff. (Indeed, some legacy code won't compile without it.)
BTW, don't forget Borland 5.5, which you can WDOSX the output to run in DOS. (That also works for Delphi, supposedly.) But I haven't used that, supposedly isn't that good standards support, but it must be okay, feature-wise.
> Many other small compilers, e.g., Aztec C, DeSmet C, Lattice C, LSI C,
> Micro C, Microsoft C, Miracle C, Small C, are missing.
Micro C is good if you can work around its quirks. The output is very tiny (literally, only supports tiny or small model). But sometimes, it's better just to do straight assembly, IMO. Still, not bad to have, and it uses very little space.
Dev86/BCC is moderately good too (for its size), also only small or tiny model. Open source too, but I've never been able to cleanly recompile it (blech).
From what little I've used Small C, it's similar to Micro C (not full ANSI support, some quirks), but it's okay for really tiny programs if you can massage it enough to get it to work for your needs. Open source.
EDIT: CC386's biggest "selling points" are that it's a very small install (compared to some), fast, and supports a ton of extenders while running on a NASM backend (so no need to ever worry about or learn AT&T syntax). C only (with C99 support), but still pretty darn good. Ladsoft worked very hard on this for quite a while, so his efforts are definitely appreciated.
---
Know your limits.h
Complete thread:
- BIG "C" compiler comparison thread - DOS386, 04.03.2008, 02:07 (Developers)
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 05:08
- BIG "C" compiler comparison thread - DOS386, 09.03.2008, 02:11
- BIG "C" compiler comparison thread - Steve, 09.03.2008, 09:40
- BIG "C" compiler comparison thread - DOS386, 09.03.2008, 02:11
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 09:38
- BIG "C" compiler comparison thread - rr, 04.03.2008, 10:02
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 14:53
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 18:32
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 18:57
- No cheats please! - Japheth, 05.03.2008, 11:02
- No cheats please! - Rugxulo, 05.03.2008, 14:07
- No cheats please! - Japheth, 05.03.2008, 11:02
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 18:57
- BIG "C" compiler comparison thread - Japheth, 04.03.2008, 18:32
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 20:41
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:11
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 02:05
- BIG "C" compiler comparison thread - rr, 05.03.2008, 09:57
- BIG "C" compiler comparison thread - rr, 05.03.2008, 10:01
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 02:05
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:11
- BIG "C" compiler comparison thread | evil TCC - DOS386, 09.03.2008, 02:17
- BIG "C" compiler comparison thread | evil TCC - Japheth, 09.03.2008, 08:41
- BIG "C" compiler comparison thread | evil TCC - rr, 09.03.2008, 22:20
- BIG "C" compiler comparison thread | evil TCC - Rugxulo, 10.03.2008, 03:29
- BIG "C" compiler comparison thread - marcov, 07.04.2008, 14:30
- BIG "C" compiler comparison thread - Rugxulo, 07.04.2008, 23:57
- BIG "C" compiler comparison thread - marcov, 15.04.2008, 10:43
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 06:55
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 23:15
- BIG "C" compiler comparison thread - Steve, 26.07.2008, 00:27
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 23:15
- BIG "C" compiler comparison thread - Rugxulo, 25.07.2008, 06:55
- BIG "C" compiler comparison thread - marcov, 15.04.2008, 10:43
- BIG "C" compiler comparison thread - Rugxulo, 07.04.2008, 23:57
- BIG "C" compiler comparison thread - Rugxulo, 04.03.2008, 14:53
- BIG "C" compiler comparison thread - Khusraw, 04.03.2008, 21:51
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:06
- BIG "C" compiler comparison thread - Steve, 05.03.2008, 01:50
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 08:01
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 14:04
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 15:46
- BIG "C" compiler comparison thread - Rugxulo, 06.03.2008, 04:40
- BIG "C" compiler comparison thread - Japheth, 06.03.2008, 07:52
- BIG "C" compiler comparison thread - tom, 08.03.2008, 21:50
- BIG "C" compiler comparison thread - Rugxulo, 09.03.2008, 00:53
- BIG "C" compiler comparison thread - Steve, 09.03.2008, 09:36
- BIG "C" compiler comparison thread - tom, 10.03.2008, 12:59
- BIG "C" compiler comparison thread - Rugxulo, 09.03.2008, 00:53
- BIG "C" compiler comparison thread | WC 1.52 - DOS386, 09.03.2008, 03:02
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 07.04.2008, 14:39
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 00:09
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 08.04.2008, 14:34
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 16:13
- Free Pascal linking - rr, 09.04.2008, 11:40
- Free Pascal linking - marcov, 10.04.2008, 10:40
- Free Pascal linking - rr, 10.04.2008, 12:18
- Free Pascal linking - Rugxulo, 11.04.2008, 06:32
- Free Pascal linking - marcov, 11.04.2008, 14:20
- Free Pascal linking - Rugxulo, 11.04.2008, 16:16
- Free Pascal linking - marcov, 11.04.2008, 20:14
- compression / size wars - Rugxulo, 12.04.2008, 01:13
- compression / size wars - DOS386, 01.05.2008, 04:49
- compression / size wars - Rugxulo, 01.05.2008, 05:32
- FAT OGG - DOS386, 01.05.2008, 05:44
- compression / size wars - Rugxulo, 01.05.2008, 05:32
- compression / size wars - DOS386, 01.05.2008, 04:49
- compression / size wars - Rugxulo, 12.04.2008, 01:13
- Free Pascal linking - marcov, 11.04.2008, 20:14
- Free Pascal linking - Japheth, 11.04.2008, 16:39
- Free Pascal linking - Steve, 12.04.2008, 05:19
- Free Pascal linking - marcov, 12.04.2008, 14:41
- Free Pascal linking - Steve, 12.04.2008, 16:09
- Free Pascal linking - marcov, 13.04.2008, 23:42
- Compression - Steve, 14.04.2008, 06:27
- Compression - marcov, 14.04.2008, 11:03
- Compression - Steve, 14.04.2008, 13:32
- Compression - Rugxulo, 14.04.2008, 20:00
- Compression - Steve, 14.04.2008, 20:16
- Compression - marcov, 15.04.2008, 10:40
- Compression - Steve, 15.04.2008, 12:24
- Compression - marcov, 15.04.2008, 15:43
- Compression - Steve, 16.04.2008, 11:32
- Compression - marcov, 15.04.2008, 15:43
- Compression - Steve, 15.04.2008, 12:24
- Compression - marcov, 15.04.2008, 10:40
- Compression - Steve, 14.04.2008, 20:16
- Compression - Rugxulo, 14.04.2008, 20:00
- Compression - Steve, 14.04.2008, 13:32
- Compression - Rugxulo, 14.04.2008, 19:55
- Compression - Steve, 14.04.2008, 20:44
- Compression - marcov, 15.04.2008, 09:59
- Compression - Steve, 15.04.2008, 11:55
- Compression - marcov, 15.04.2008, 15:24
- Compression - Rugxulo, 16.04.2008, 01:13
- Compression - Steve, 16.04.2008, 10:54
- Compression - marcov, 16.04.2008, 16:24
- Compression - Steve, 16.04.2008, 21:27
- Compression - marcov, 16.04.2008, 23:38
- Compression - Steve, 17.04.2008, 12:10
- Compression - marcov, 16.04.2008, 23:38
- Compression - Steve, 16.04.2008, 21:27
- Compression - marcov, 16.04.2008, 16:24
- Compression - marcov, 15.04.2008, 15:24
- Compression - Steve, 15.04.2008, 11:55
- Compression - marcov, 14.04.2008, 11:03
- Compression - Steve, 14.04.2008, 06:27
- Free Pascal linking - marcov, 13.04.2008, 23:42
- Free Pascal linking - Steve, 12.04.2008, 16:09
- Free Pascal linking - marcov, 12.04.2008, 14:41
- Free Pascal linking - Rugxulo, 11.04.2008, 16:16
- Free Pascal linking - marcov, 11.04.2008, 14:20
- Free Pascal linking - marcov, 10.04.2008, 10:40
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 08.04.2008, 14:34
- BIG "C" compiler comparison thread | WC 1.52 - Rugxulo, 08.04.2008, 00:09
- BIG "C" compiler comparison thread | WC 1.52 - marcov, 07.04.2008, 14:39
- BIG "C" compiler comparison thread - tom, 08.03.2008, 21:50
- BIG "C" compiler comparison thread - Khusraw, 06.03.2008, 10:41
- BIG "C" compiler comparison thread - Japheth, 06.03.2008, 07:52
- BIG "C" compiler comparison thread - Rugxulo, 06.03.2008, 04:40
- BIG "C" compiler comparison thread - Khusraw, 05.03.2008, 15:46
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 14:04
- BIG "C" compiler comparison thread - Rugxulo, 05.03.2008, 01:06
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 09.03.2008, 02:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 09.03.2008, 08:56
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 09.03.2008, 12:40
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 10.03.2008, 09:04
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:52
- Ich nix verstehen - andere Baustelle! - Japheth, 10.03.2008, 14:43
- Ich nix verstehen - andere Baustelle! - Steve, 11.03.2008, 10:17
- Ich nix verstehen - andere Baustelle! - marcov, 07.04.2008, 14:44
- Ich nix verstehen - andere Baustelle! - Steve, 08.04.2008, 01:43
- Ich nix verstehen - andere Baustelle! - marcov, 08.04.2008, 14:36
- Ich nix verstehen - andere Baustelle! - Steve, 08.04.2008, 01:43
- Ich nix verstehen - andere Baustelle! - Japheth, 10.03.2008, 14:43
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:52
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Japheth, 10.03.2008, 09:04
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 09.03.2008, 22:10
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 03:39
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 09:08
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 10.03.2008, 12:31
- BIG "C" compiler cmp | DELTREE - DOS386, 01.05.2008, 04:32
- BIG "C" compiler cmp | DELTREE - rr, 02.05.2008, 16:20
- BIG "C" compiler cmp | DELTREE - DOS386, 01.05.2008, 04:32
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 10.03.2008, 12:31
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 06:24
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 11:39
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 12:07
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 05:30
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 02.05.2008, 00:47
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 02.05.2008, 16:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 03.05.2008, 08:16
- BIG "C" compiler cmp | the "scientific" facts ore out DW - rr, 02.05.2008, 16:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 02.05.2008, 00:47
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 05:30
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:55
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 20:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 21:41
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:52
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 10.03.2008, 20:49
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 10.03.2008, 13:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 16:00
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:42
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 17:50
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:56
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:55
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 08.04.2008, 00:02
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Khusraw, 10.03.2008, 17:50
- BIG "C" compiler cmp | the "scientific" facts ore out DW - RayeR, 10.03.2008, 17:42
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 10.03.2008, 12:07
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.03.2008, 19:29
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 12.03.2008, 08:01
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 12.03.2008, 20:13
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 13.03.2008, 04:10
- BIG "C" compiler cmp | INTEL - DOS386, 01.05.2008, 04:43
- BIG "C" compiler cmp | INTEL - Steve, 02.05.2008, 00:51
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 12.03.2008, 20:13
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 07.04.2008, 14:58
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 07.04.2008, 23:38
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 10.04.2008, 10:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.04.2008, 06:27
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 11.04.2008, 20:18
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 11.04.2008, 06:27
- BIG "C" compiler cmp | the "scientific" facts ore out DW - marcov, 10.04.2008, 10:22
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Rugxulo, 07.04.2008, 23:38
- BIG "C" compiler cmp | the "scientific" facts ore out DW - DOS386, 01.05.2008, 04:41
- BIG "C" compiler cmp | the "scientific" facts ore out DW - Steve, 12.03.2008, 08:01
- BIG "C" compiler cmp | new facts ore out: OW TCC CC386 - DOS386, 01.05.2008, 04:30
- BIG "C" compiler cmp | new facts ore out: OW TCC CC386 - Rugxulo, 01.05.2008, 05:27
- BIG "C" compiler comparison thread - Steve, 04.03.2008, 05:08