Оптимизирующие линкеры
Это обычно на уровне исходного текста делают.
А если некто купит за большие деньги проприетарный объектник, реализующий море всякой всячины? Исходника нет.
Единственное, что можно предпринять в такой ситуации, не имея сабжа - это купить тот же объектный код в виде библиотеки, разбитый на маленькие объектники. Тогда вопрос 2 решится, но возникнет равносильная ему проблема: компилятор соптимизирует эту библиотеку несравненно хуже, чем если бы он делал её единым объектником.
За большие деньги можно нанять рюхов, и они попробуют что-нибудь пооптимизировать. Можно попробовать декомпилировать объектник, например.
2. Зачем декомпилировать, если существуют сабжи?
3. Хорош флудить, я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
Реально?
P.S. Судя по твоему вопросу, совета по теме я тут не дождусь , не сочти за оскорбление.
В микроконтроллерах я ничего не понимаю, так что совета от меня действительно вряд ли дождёшься.
Просто интересно. Поэтому можно ссылку на такой линкер?
http://www.google.co.uk/search?q=optimizing+linker&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla src="/smiles/en-US.gif" alt="" />official
Тут, например, третья ссылка:
http://www.google.co.uk/search?hs=doU&hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&biw=1196&q=optimizing+linker+msp430&btnG=Search&meta=
Ещё man ld, между прочим. Но он плох в плане оптимизации, его сила в гибкости и универсальности.
Тут, например, третья ссылка:
http://www.google.co.uk/search?hs=doU&hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&biw=1196&q=optimizing+linker+msp430&btnG=Search&meta=
Ещё man ld, между прочим. Но он плох в плане оптимизации, его сила в гибкости и универсальности.
Третью ссылку прочитал. И чё?
P.S. Больше отвечать не по теме не буду, спасибо за внимание
А если некто купит за большие деньги проприетарный объектникв этом случае разработчик обычно гарантирует доработку и оптимизацию (поддержку)
продаваемых компонент.
Во-вторых выделение неиспользуемых символов - очень непростая задача (вполне сравнимая по сложности
с оптимизацией библиотеки описанной тобой) тем более что код объектника может быть обфускирован.
В общем на сегодня, для таких случаев ручки самый оптимальный инструмент.
я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
Оставить комментарий
sevast82
Хотелось бы познакомиться с технологией реализации сабжа, желательно увидеть исходники. Кто что может посоветовать?В частности, интересуют вопросы реализации таких возможностей линкера:
1. Один объектный файл предоставляет глобальный символ, соответствующий функции; обращение к этому символу ровно одно, в одном из других блоков компиляции. Линкер просекает этот факт и меняет код, выполняя инлайнинг кода функции, соответствующей этому символу, тем самым оптимизируя код и по скорости, и по размеру.
2. Линкер выбрасывает из объектного кода код, соответствующий неиспользуемым символам.