Как сделать вечный цикл?
От: vsb Казахстан  
Дата: 16.09.23 08:23
Оценка: :))
Пишу программу для микроконтроллера, нужно написать код, который просто будет крутиться в вечном цикле. Т.е. компилироваться в инструкцию b .

В голову, конечно, сразу приходит for ( ; ; ) {} но clang с оптимизацией этот цикл тупо выкидывает.

Можно написать for (volatile unsigned unused; ; unused++) {} этот код не выкидывает, но мне не нравится, что он постоянно гоняет трафик между процессором и оперативной памятью, например это может мешать DMA-передачам.

Можно ли это сделать на C, согласно стандарту и без ассемблерных вставок?
Отредактировано 16.09.2023 8:25 vsb . Предыдущая версия . Еще …
Отредактировано 16.09.2023 8:24 vsb . Предыдущая версия .
Отредактировано 16.09.2023 8:24 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.