Re: Самый низкоуровневый язык, ага
От: Shmj Ниоткуда  
Дата: 26.09.23 05:37
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>1. Язык С гарантирует, что все глобальные переменные инициализируются нулями.

vsb>2. Компилятор кладёт этот буфер в секцию `.bss`.
vsb>3. Стартап код на ассемблере обнуляет секцию `.bss` сразу после запуска контроллера.
vsb>4. _start из libc ещё раз обнуляет секцию `.bss` (видимо для надёжности).

Согласно Талмуду руки мыть нужно 3 раза, так что все верно.

vsb>5. Итого наш хиленький процессорчик после подачи питания просто так потратил порядка сотни тысяч тактов, гоняя нули.

vsb>6. Наш буфер вообще никак не использует этот факт своего обнуления.

А что если туда каким-то образом попадет вредоносный код?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.