I know very little about DLL’s and LIB’s other than that they contain vital code required for a program to run properly – libraries. But why do compilers generate them at all? Wouldn’t it be easier to just include all the code in a single executable? And what’s the difference between DLL’s and LIB’s?