First post, by OzzFan
I've been bouncing back and forth between trying out different compilers and can't seem to make up my mind and settle on one. I have copies of Microsoft Visual C++ 1.52c, Symantec C++ 7.2, and Open Watcom 1.9. Each seems to come with their own advantages and drawbacks. Here is what I've determined after using each for a while:
MSVC Pros:
- Excellent DOS/Win31 support
- Decent compiled file size
- Excellent Resource editor
MSVC Cons:
- Cannot target Win32s or Win32
- Confusing MDI file editor
- Should I release my code under MIT license, not everyone can obtain MSVC to experiment or play with.
- Only supports x86-16 inline assembly
- .ASM files must be compiled separately and include .obj files for linking
Symantec Pros:
- Great file editor
- Can target DOS, Win31, Win32s, Win32
- Has built-in mouse library for DOS apps
- Excellent Resource editor
- Supports x86-32 inline assembly
- Can use MASM to assembly .ASM files
Symantec Cons:
- Uses non-standard graphics library
- Should I release my code under MIT license, not everyone can easily obtain a copy to experiment or play with.
- Custom mouse library is not cross-compiler
Open Watcom Pros:
- Great file editor
- Supports "Safer C" (e.g. "printf_s()")
- DOS4G/W / DOS32A support
- Everyone can easily get a copy
- Has WASM to assembly .ASM files
Open Watcom Cons:
- File editor not completely functional in Windows NT 3.5x dev environment
- Compiled file sizes are (sometimes considerably) larger than average
- Confusing GUI options for compiling and linking
- Terrible resource editor
- WASM isn't as good as MASM
I'm open to other perspectives on what works for them. The only reason why I want to settle on one is for simplicity and commonality. I've been getting very frustrated with the OW compiler and have been thinking about going back to MSVC as I find it easier to work with and the performance of the executables is decent. Symantec is great but I don't like its lack of support for the <graph.h> library that comes standard with MS and OW.
Are there any good reasons to care about ensuring if other people can compile using the same compiler, or should I let them worry about that?
What compiler do you use for your retro coding and why?
