On Mon, 2008-01-14 at 22:08 -0500, José Alburquerque wrote: > José Alburquerque wrote: > > It looks like the size of instances in previous releases of *mm projects > > is important. Why so? What does ABI mean? It looks like the > > ValueBase classes patch I was thinking of submitting makes no sense with > > this new (to me) information. > > > > > I did a little searching on this and I have a general idea of what it > means. I'll admit, I don't understand it all , but an explanation at > this point is not really necessary; I'll learn as I go. Thanks. > > -Jose
ABI means Application Binary Interface. The (huge) benefit of keeping the ABI stable is that you can switch out the shared gtkmm library to a newer version and have the apps that link against the library work exactly as they worked on the old version. If the ABI of the library had changed from one version to the next, any applications that used the library would need to be recompiled, you couldn't just switch to a newer version of the library. For example, if gtkmm changed its ABI and your linux distribution updated to that new version of gtkmm, every single application that used gtkmm would have to be updated as well. That's the short answer for why maintaining ABI compatibility is a good thing. I don't know all of the guidelines for maintaining ABI compatibility, but I know that you have to be very careful with virtual functions, since they affect the size of an object (by changing the vtable), but adding regular functions should be ok. -- Jonner _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
