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