GCC Compiler:
10 reason why we need to move to GCC -
http://stackoverflow.com/questions/1313702/gcc-compiler-advantage
If you need to compile C program, always go for GCC. You can find GCC online documentation in the below link http://naveendavisv.blogspot.com/2008/09/gcc-online-documentation.html
GCC and cross compilation
What is cross compilation - https://en.wikipedia.org/wiki/Cross_compiler
how to use GCC as cross compiler - http://wiki.osdev.org/GCC_Cross-Compiler
How to use GCC to compile ARM code :
https://launchpad.net/gcc-arm-embedded
http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
http://askubuntu.com/questions/487082/compiling-c-code-for-arm-processor-on-ubuntu-12-04
How to use GCC for PIC :
http://hackaday.com/2010/11/03/how-to-program-pics-using-linux/