José Alburquerque wrote:
> 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?
>
>
^ ^
| |
should be a semicolon. might be a period.
:-)
-Jose
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list