¿Cuándo debería usar ld en lugar de gcc?

Quiero saber cuándo debería usar ld linker en lugar de gcc. Acabo de escribir un mundo simplemente hola en c ++, por supuesto, incluyo la biblioteca iostream. Si quiero hacer un archivo binario con gcc solo uso:

g++ hello hello.cpp y tengo mi archivo binario.

Más tarde trato de usar ld linker. Para obtener el archivo objeto utilizo:g++ -c hello.cpp. Ok, eso fue fácil, pero el comando de enlace fue horrible durante mucho tiempo:

ld -o hello.out  hello.o \
   -L /usr/lib/gcc/x86_64-linux-gnu/4.8.4/ \
   /usr/lib/gcc/x86_64-linux-gnu/4.8.4/crtbegin.o \
   /usr/lib/gcc/x86_64-linux-gnu/4.8.4/crtend.o \
   /usr/lib/x86_64-linux-gnu/crti.o \
   /usr/lib/x86_64-linux-gnu/crtn.o \
   /usr/lib/x86_64-linux-gnu/crt1.o \
   -dynamic-linker /lib64/ld-linux-x86-64.so.2 -lstdc++ -lc 

Sé quegcc usa el ld. Utilizandogcc es mejor en todos los casos o solo en la mayoría de los casos? Por favor, dígame algo sobre los casos en que ld linker tiene ventaja.

Respuestas a la pregunta(2)

Su respuesta a la pregunta