Что делает collect2.exe? - PullRequest
       17

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

8 голосов
/ 13 мая 2010

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

Ответы [ 2 ]

9 голосов
/ 13 мая 2010

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

4 голосов
/ 13 мая 2010

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

...