Jonathon Jongsma wrote: > 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. > Thanks so much for that, it's already very clear from your explanation! What about constructors? Do they also affect the size of objects?
-Jose _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
