During compile time mainly two functions are performed :
1. Compiling the code and converting to assembly code.
2. and then converting assembly code to Relocatable code.
During the link time :
1. linker links all the modules of program and gives a single module which is still a relocatable code.
During load time :
1. the loader covert the relocatable addresses of the code to absolute address.
During Run Time :
1. Dynamic linking of shared library is done.