What are the differences between Shared and Dynamic libraries