релизе вещи которые он доказал что не могут произойти?
1. чтобы что 2. black_box
Типо у меня есть extern a: u32; a = a.saturating_add(10); if a < 10 { do_stuff(); }
black_box прям большими буквами пишет, IT MUST NOT BE RELIED TO CONTROL cRITICAL PROGRAM BEHAVIOUR
угу. А нафига тебе вообще этот иф тогда?
а вдруг doomsday случился и кто-то память извне поменят
тогда он сам себе злой буратина
а что если космические лучи поменяют память и вместо do_stuff случится джамп в dont_do_stuff() ?
смерть ☠ но если повезет что лучи в данные попадут, то можно отловить и громко заплакать, если лучи не подпортили код который должен плакать...
Обычно 1 битик меняется. А тут - целое редактирование.
какое редактирование? у тебя call 0xabcd станет call 0xcbcd
Память ECC спасет от случайно изменённого битика.
Ну раз у нас ECC значит можно писать нормально и не выдумывать)
Мораль тут такова что в стеке технологий нужно доверять проверку ошибок тому уровню, который был специально создан для таких проверок.
Обсуждают сегодня