Quando devo usar ld em vez de gcc?

Quero saber quando devo usar o ld linker em vez do gcc. Acabei de escrever um mundo simplesmente olá em c ++, é claro que incluo a biblioteca iostream. Se eu quiser criar um arquivo binário com o gcc, basta usar:

g++ hello hello.cpp e eu tenho meu arquivo binário.

Mais tarde eu tento usar o ld linker. Para obter o arquivo de objeto que eu uso:g++ -c hello.cpp. Ok, isso foi fácil, mas o comando link foi horrível por muito tempo:

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 

Eu sei o fato de quegcc usa o ld. Usandogcc é melhor em todos os casos ou apenas na maioria dos casos? Por favor, conte-me algo sobre casos em que o ld linker tem vantagem.

questionAnswers(2)

yourAnswerToTheQuestion