Joe Wilson <[EMAIL PROTECTED]> wrote: > :-) A very nice description of C. Unfortunately, it's the > best cross-platform/cross-language tool available for such > a library. Java and C++ have a whole other mess of > compatibility problems - even on the same platform. Try > using a C++ shared library compiled in GCC 2.9.x with code > from GCC 3.x or GCC 4.x - there are not enough > curse words available in the english language.
But post-GCC 3 C++ developments are far more compatible -- even ABI to a point. ANSI C++ compliance and other, major changes thanx to the Cygnus team (now Red Hat) are in order. There was a reason why the GNU project gave Cygnus the reins on GCC 3. Before GCC 3, there was a major lack of compatibility between GCC 2.x releases -- so much so that Red Hat did not bother to adopt GCC 2.8 after 2.7, and went directly to EGCS instead. Now understand that the entire GCC 2.9.x was never supposed to be adopted -- sans maybe 2.91.66 (which was essentially EGCS 1.1.2). It was a radical change that broke GCC 2 compatibility -- especially for C++. Although GCC 2.95.x tried to maintain some GCC 2 compatibility, the 2.96 branch finally forced the ANSI C++ issue. At one point, for its distribution end, Red Hat finally decided that there was no sense in sticking with non-ANSI C++ compliant code for its new distro series, and incremented the finalized work for GCC 3 to a new 2.97 branch -- releasing 2.96. A lot of people bitched and moaned, but it was actually a very good thing they did IMHO. [ Yes, it would have been more ideal to wait on GCC 3, but the full GCC 3 release was nowhere near finished, and Red Hat wouldn't wait another year before working on a new distro series. ] GCC 2 was _not_ ANSI C++ compliant. GCC 3+ is (GCC 2.96 is too, but it's not fully GCC 3+ ABI/API compatible). Although GCC 3/4 allow you to use some GCC 2 directives and allow for some GCC 2 compatibility with a few options, they are not recommended. -- Bryan J. Smith | Sent from Yahoo Mail mailto:[EMAIL PROTECTED] | (please excuse any http://thebs413.blogspot.com/ | missing headers)