|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey Khvatov 2:5020/175.2 29 Aug 2006 17:21:09 To : Dmitry E. Oboukhov Subject : получить чистый бинарник -------------------------------------------------------------------------------- Tue Aug 29 2006 16:34, Dmitry E. Oboukhov wrote to Grishka Chervonets: DEO>>> если теперь objdump'ом дезасемблять то кода, инициализирующего DEO>>> переменную a мы не увидим: GC>> GC>> кода быть и не должно, статические данные инициализируются при загрузке. DEO> в МК-архитектурах инициализация идет именно в стартапе DEO> т.к. программа во флэш располагается, а данные в ОЗУ. DEO> gcc-avr такой код генерит как-то :) Делается все очень просто: линкер настраивает секцию .data (изменяемые инициализированные данные) на адреса в RAM, но размещает ее образ во FLASH. Стартер просто копирует ее целиком из флешки на штатное место в ОЗУ. GC>> PS а не является ли программирование пиков на сях своего рода извратом GC>> ;) DEO> а кроме как на Сях и не удобно ни на чем (кроме Сей в 99% случаев есть DEO> только АСМ который нахфиг) Извратом (если конкретно - то мазохизмом) как раз является програмирование на ассемблере. :-) C - это низкоуровневый язык, по сути - тот же ассемблер, только платформенно-независимый. Hикаких скрытых библиотечных вызовов, и эффективность кода не уступает ассемблерному. Для особо торжественных случаев в нем есть ассемблерные вставки. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/33003d0fd156.html, оценка из 5, голосов 10
|