Library standardization
e-t172
e-t172 at akegroup.org
Sat Apr 19 06:42:54 PDT 2008
e-t172 a écrit :
> So, I compile my shared library, version 1.0.1. When I install it on my
> system, all hell breaks loose: all the programs that were using foo()
> are crashing at startup because they do not find foo() in the shared
> library. What?! But I never changed my API?! How is that possible?
>
> There is clearly a problem here.
The same kind of problem arises if you release a general update of your
shared library without changing the API : the programs that uses the
shared library will use the updated versions if and only if those are
not inlined. This is normal, but because inlining a function is not a
the programmer's decision in D, the program will use an ugly and
unpredictable mix between updated and non-updated functions that will
inevitably lead to grave problems (DLL hell reloaded?).
More information about the Digitalmars-d
mailing list