Когда я должен использовать ld вместо gcc?

Я хочу знать, когда я должен использовать ld linker вместо gcc. Я просто написал просто привет мир на C ++, конечно, я включил библиотеку iostream. Если я хочу сделать двоичный файл с помощью gcc, я просто использую:

g++ hello hello.cpp и у меня есть мой бинарный файл.

Позже я пытаюсь использовать ld linker. Чтобы получить объектный файл, я использую:g++ -c hello.cpp, Хорошо, это было легко, но команда link была ужасна долго:

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 

Я знаю факт чтоgcc использует ld. С помощьюgcc лучше во всех случаях или только в большинстве случаев? Расскажите, пожалуйста, о случаях, когда у линкера есть преимущество.

Ответы на вопрос(2)

Ваш ответ на вопрос