On Mon, Sep 17, 2012 at 1:24 PM, Nathan Kurz <[email protected]> wrote: > http://blog.omega-prime.co.uk/?p=121
Rats. I wish what was described in that post actually worked. It would be so nice if we could alias e.g. `lucy_Query_to_string_OFFSET` to `cfish_Obj_to_string_OFFSET`. Even better if we could alias to a constant, so that e.g. `lucy_Query_to_string_OFFSET` could be replaced by `72` at link-time. > I think the general approach of this paper: http://2f.ru/holy-wars/fbc.html > Old, and C++, but a nice simple approach. Add padding where you think > you'll need it, and have an "ioctl" type safety net. We may also be > able to use their trick of padding both the top and bottom of the > VTable to allow us to move things between parent and child. Yeah, some people abide by such constraints: http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B I think it's an outmoded approach in the era of CPAN, rubygems, etc. The fragile coupling of C++ is poorly suited for distributed development and dynamic linking. Personally, I'm not willing to put up with it. Clownfish solves most of these issues already -- we don't have to pull any silly tricks to preserve vtable ABI compat, for example. Only member variable issues remain and stand in the way of a comprehensive solution to the fragile base class problem. Marvin Humphrey
