Золото (линкер) - Gold (linker)
Разработчики) | Ян Лэнс Тейлор |
---|---|
Написано в | C ++ |
Операционная система | GNU |
Платформа | x86, x86-64, ARM, PowerPC, TileGX |
Тип | Компоновщик |
Лицензия | Стандартная общественная лицензия GNU версии 3 |
Интернет сайт | исходное ПО |
В программной инженерии золото это компоновщик за ELF файлы. Он стал официальным Пакет GNU и был добавлен в binutils в марте 2008 г.[1] [2] и впервые выпущен в binutils версии 2.19. gold был разработан Яном Лэнсом Тейлором и небольшой командой в Google.[3] Мотивом написания золота было создание компоновщика, который будет быстрее, чем Компоновщик GNU,[3] особенно для больших Приложения закодировано в C ++.
В отличие от компоновщика GNU, gold не использует Библиотека BFD обрабатывать объектные файлы. Хотя это ограничивает форматы объектных файлов, которые он может обрабатывать только ELF, также утверждается, что это приводит к более чистой и быстрой реализации без дополнительного уровня абстракции. Автор назвал полное удаление BFD причиной для создания нового компоновщика с нуля, а не постепенного улучшения компоновщика GNU.[4] Это переписывание также исправляет некоторые ошибки в старом ld, которые ломают файлы ELF различными незначительными способами.[5]
Чтобы указать золото в makefile, устанавливается LD или LD переменная окружающей среды к ld.gold
. Указать золото
через опция компилятора, можно использовать gcc вариант -fuse-ld = золото
.
Смотрите также
- Сравнение форматов исполняемых файлов, также для форматов PE / COFF (Windows) и Mach-O (Mac OS X).
Рекомендации
- ^ "gold README: Rewrite, с некоторыми замечаниями о неподдерживаемых функциях". 2008-03-25. Получено 2020-04-28.
Это программа GNU, и поэтому она соответствует стандартам форматирования GNU [...]
- ^ Ян Лэнс Тейлор (22 марта 2008 г.). "В GNU binutils добавлен новый код компоновщика ELF". список рассылки binutils. Получено 2020-04-28.
- ^ а б Ян Лэнс Тейлор (2008-04-04). "gold: Google выпускает новый и улучшенный компоновщик GCC". Блог Google с открытым исходным кодом. Получено 2020-04-28.
- ^ Йен Лэнс Тейлор (2008). Новый линкер ELF. Саммит разработчиков GCC. стр. 129–136. Получено 2020-04-28.
- ^ "ЭльфлинтГНУ". sourceware.org. Получено 2020-04-28.
У eu-elflint есть флаг '--gnu-ld', описанный как «Двоичный файл был создан с помощью GNU ld и, следовательно, известен как некорректный». Обратите внимание, что под GNU ld подразумевается исходный GNU binutils ld, а не новый компоновщик GNU binutils gold.
внешняя ссылка
- Ян Лэнс Тейлор (22 августа 2007 г.). "Линкеры часть 1". Получено 2020-04-28.
- Эдж, Джейк (2008-03-26). "Чудесное золото в бинутиле". LWN.net. Получено 2020-04-28.
- Кутан, Кэри (2012-04-05). «Постепенное связывание с золотом» (PDF). Linux Foundation Саммит сотрудничества.
- «Постепенное связывание с золотом». Саммит сотрудничества Linux Foundation 2012. 2012-04-11.
Этот инструмент для программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |