Wenn ich ld anstelle von gcc verwenden soll?

Ich möchte wissen, wann ich ld Linker anstelle von gcc verwenden sollte. Ich habe gerade eine einfache Hallo-Welt in C ++ geschrieben, natürlich schließe ich die iostream-Bibliothek ein. Wenn ich eine Binärdatei mit gcc machen will, benutze ich einfach:

g++ hello hello.cpp und ich habe meine Binärdatei.

päter versuche ich, ld Linker zu verwenden. Um die Objektdatei zu erhalten, benutze ich:g++ -c hello.cpp. Ok, das war einfach, aber der Linkbefehl war schrecklich lang:

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 

Ich weiß, dassgcc verwendet die ld. @ Verwendgcc ist in allen Fällen besser oder nur in den meisten Fällen? Bitte erzähl mir etwas über Fälle, in denen ld linker Vorteile hat.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage