Re:C++ - The Forgotten Trojan Horse
by makecheck on Thursday July 02, 2009 @09:18PM
(#685480)
Which ones? I can't even make GCC 3.x and GCC 4.x link together reliably.
[ Parent
| on HN ]
Re:C++ - The Forgotten Trojan Horse
by wizardofoz on Thursday July 02, 2009 @09:23PM
(#685485)
Well I wrote (a command-line) program that was about 2000 lines long in C++ and during most of the development period I used g++ with the -ansi & -pedantic options.
Later I was able to get my program to compile on Visual C++ with absolutely no modification.
Ah, that's different, that's just compilation (and yes, I've seen compilation incompatibilities too; VS usually requires code changes to compile).
I was referring to the binary interface. What I'd want to do (and generally can with C) is compile a library with any compiler, and link it with any other code, with no recompiling.
You see this all the time with Unix, say; maybe Sun compiles a bunch of stuff with their C compiler, but you can easily link to what's in /usr/lib using GCC. But with C++, it's typical for the loader to not link C++ libraries that were built differently; and if you're really unlucky, the loader won't notice and instead you'll see subtle binary errors at runtime.