In the above diagram,we have two application Applictaion1 and Application2 sharing a DLL Called SharedDLL.Both Application invokes a common function called SharedHello(Does not return and takes no parameter).
Let’s Assume Application2 want’s a parameter to be passed to SharedHello,so Now the sharedhello takes one parameter as string,and the reference to SharedDLL is updated by Application2. This change in reference to DLL would not make the Application1 working,as Applictaion1 sharedhello takes no argument.
The above situation is called DLL HELL.(The compatibility issues between the DLL.)