Что делает collect2.exe?

Когда я исследую код, сгенерированный gcc-v-o proggy.exe proggy.o, я нахожу, что командная строка расширяется в большой набор опций библиотеки и библиотек, все из которых связаны с помощью collect2.exe. Что произошло с ld.exe? Почему я не вижу это? Кто-то может объяснить мне, что делает collect2.exe?

8
задан underscore_d 29 July 2016 в 18:28
поделиться

2 ответа

collect2 - это утилита, используемая для создания таблицы конструкторов, от которых зависит __main (автоматически генерируемая функция, вызываемая в начале main). Обычно вы ее не видите, потому что она называется ld в файловой системе, а она, в свою очередь, вызывает настоящий ld (обычно называемый real-ld, хотя collect2 будет искать его в разных местах)

.
9
ответ дан 5 December 2019 в 12:56
поделиться

GCC использует утилиту под названием collect2 почти на всех системах для организации вызова различных функций инициализации во время запуска. [link]

4
ответ дан 5 December 2019 в 12:56
поделиться