On 14:51 18 Feb 2002, Dave Reed <[EMAIL PROTECTED]> wrote: | I'm just trying to understand something here. . . I skimmed the | release notes for the 1.3.14 development version of glib/gtk and it | contained: | | The API is frozen at this point. No additional API changes are | anticipated before GTK+-2.0 is released. | | <snip> | | Binary interfaces for these libraries are not yet frozen; applications | built against these libraries will need to be rebuilt when the | final GTK+-2.0.0 is released. | | How is it possible for it not to be binary compatible if none of the | source API functions change?
Several ways. Some examples: The Binary API for C++ is different between gcc 2.95 (RH 6.x systems), gcc 2.96 (RH 7.x) systems _and_ gcc 3.x. So programs compiled for each will not mutually link. However, that's not what the gtk people will be talking about. More likely example: Suppose something is a macro in one release and a real function in another. The source API will be the same (you call the macro just like a function) but there will be no library symbol for the version using a macro. Another instance is constants. Supposing there's a set of bitmasks like: #define M_THIS 0x01 #define M_THAT 0x02 #define M_THEOTHER 0x04 in one release and they're numbers 2,4,8 in another. The source API again would be the same because you'd be talking in terms of M_THIS etc, but the actual numbers used in the binaries would differ. Cheers, -- Cameron Simpson, DoD#743 [EMAIL PROTECTED] http://www.zip.com.au/~cs/ you just don't get it, do you? here, i'll make it REALLY simple for you: if you suffer a lapse of judgement, even a very fleeting one, on a bike in traffic, you stand a good chance of DYING a horrible, body-mangling, bone-crushing DEATH. if you do the same thing in a cage, you stand a good chance of denting a fender. NOW DO YOU GET IT? - ye wilde ryder <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> _______________________________________________ Redhat-list mailing list [EMAIL PROTECTED] https://listman.redhat.com/mailman/listinfo/redhat-list