Re: RecentAction doesn't derive from RecentChooser



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]