
On Wed, 2007-06-20 at 11:40 -0400, Isaac Dupree wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
skaller wrote:
(MS and gcc C++ are incompatible).
is this still true? GCC has been standardizing its C++ ABI for a while, and I think there actually weren't any ABI changes noted between 4.1 and 4.2 for most platforms (I don't know if MS C++ is compatible with that common ABI though). I could be confused here though.
I believe so, but I could be wrong. MSVC++ uses different name mangling as well as function call/register usage conventions on AMD64 I think, but I'm not sure since I only have Cygwin g++, which is a very old compiler now (3.3 or something?) As I understand it, gcc is highly configurable wrt to the back end, still, stuff like C++ exception handling etc is quite hard to parametrise. It would be very cool if g++ could replace MSVC++, but I wouldn't hold your breath. MS now uses 'assemblies' for dynamic linkage, which is an advanced version of the common Unix *.so.1.2+ symlinks hackery, so just as g++ can create compatible C++ dlls it is going to be out of date on the dynamic loading method .. by the time it catches up on that, most MS applications will probably be .NET based and binaries will be reserved for privileged users and device drivers (I'm not kidding on that either -- MS does have a few security problems and .NET is probably the vehicle they'll use to solve them). The problem for software like GHC is that it can't afford to trail behind development of Open Source support technology like C compilers. The lag is too great: to be successful it needs to be on the bleeding edge .. after all from a *programming language* viewpoint it is bleeding edge software. Ocaml has jumped onto the bleeding edge with F#... ok, they're not the same exactly, and the fork is unpleasant, but F# is already a .NET language, so MS developers in a position to take some risks might have a go with it. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net