What is the difference between compiling a dynamic Library and an Executable file???? Which one is better for everyday-use-applications???