C
CBFalconer
"Doesn't ever" is too strong -- the whole point of standard
platform ABIs and run-time libraries is to allow different
compilers' object code to be linked together and work. It's
another lesson that Microsoft has been very slow to learn, but it
works just dandy in lots of other environments (like VMS, Unix,
and MVS/ESA). One of my company's main products is written in a
combination of C, C++, and Fortran, compiled by two or three
different compilers, all linked together into a single executable.
It works just fine on all major current platforms. That's not to
say that it's *easy* -- there are lots of potential traps and
pitfalls -- but it can be done.
Actually, for once, I don't think this is to be blamed on MS. The
x86 chips have had a long history, and a wide performance span, and
have never really had a consistent system for which to design
libraries, calling sequences, etc. Even their opcodes have been
heavily modified. Remember, the family is already over 30 years
old.