Оптимизирующие линкеры
Это обычно на уровне исходного текста делают.
Ну, спасибо 
А если некто купит за большие деньги проприетарный объектник, реализующий море всякой всячины? Исходника нет.
Единственное, что можно предпринять в такой ситуации, не имея сабжа - это купить тот же объектный код в виде библиотеки, разбитый на маленькие объектники. Тогда вопрос 2 решится, но возникнет равносильная ему проблема: компилятор соптимизирует эту библиотеку несравненно хуже, чем если бы он делал её единым объектником.

А если некто купит за большие деньги проприетарный объектник, реализующий море всякой всячины? Исходника нет.
Единственное, что можно предпринять в такой ситуации, не имея сабжа - это купить тот же объектный код в виде библиотеки, разбитый на маленькие объектники. Тогда вопрос 2 решится, но возникнет равносильная ему проблема: компилятор соптимизирует эту библиотеку несравненно хуже, чем если бы он делал её единым объектником.
За большие деньги можно нанять рюхов, и они попробуют что-нибудь пооптимизировать. Можно попробовать декомпилировать объектник, например.
1. Поставщик, поставляющий продукт, который покупатель вынужден декомпилировать, нанимая рюхов, пойдёт лесом после первой же сделки.
2. Зачем декомпилировать, если существуют сабжи?
3. Хорош флудить, я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
2. Зачем декомпилировать, если существуют сабжи?
3. Хорош флудить, я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
> 2. Зачем декомпилировать, если существуют сабжи?
Реально?
Реально?
Реально. Активно применяются в области embedded systems. Например, можешь погуглить тулзы для платформ MSP430.
P.S. Судя по твоему вопросу, совета по теме я тут не дождусь
, не сочти за оскорбление.
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. Больше отвечать не по теме не буду, спасибо за внимание
P.S. Больше отвечать не по теме не буду, спасибо за внимание

А если некто купит за большие деньги проприетарный объектникв этом случае разработчик обычно гарантирует доработку и оптимизацию (поддержку)
продаваемых компонент.
Во-вторых выделение неиспользуемых символов - очень непростая задача (вполне сравнимая по сложности
с оптимизацией библиотеки описанной тобой) тем более что код объектника может быть обфускирован.
В общем на сегодня, для таких случаев ручки самый оптимальный инструмент.
я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
Оставить комментарий
sevast82
Хотелось бы познакомиться с технологией реализации сабжа, желательно увидеть исходники. Кто что может посоветовать?В частности, интересуют вопросы реализации таких возможностей линкера:
1. Один объектный файл предоставляет глобальный символ, соответствующий функции; обращение к этому символу ровно одно, в одном из других блоков компиляции. Линкер просекает этот факт и меняет код, выполняя инлайнинг кода функции, соответствующей этому символу, тем самым оптимизируя код и по скорости, и по размеру.
2. Линкер выбрасывает из объектного кода код, соответствующий неиспользуемым символам.