-
- Ну ващета скрипт линкера ни как не ограничит обращения к памяти. - Nikolay801_(01.10.2020 11:55)
- зато гарантирует, что недалёкий выход за пределы массива не даст hard fault - Mahagam(01.10.2020 11:56)
- Еще интереснее если попробовать сделать вот так: Tpoeшник(192 знак., 01.10.2020 11:31)
- В чём смысл эксперимента? Вы затрёте всю память, включая стек
возврата, но в игрушечной программе, где нет других переменных и
некуда возвращаться, это, возможно, сойдёт с рук. В реальном
проекте - не сойдёт. - йцyкeн(01.10.2020 11:48)
- Я сделал такое на реальном проекте после инициализации и прямо
перед основным циклом. Устройство работает. Смысл в том чтоб
оценить толщину брони у методов которыми от троешников компиляторы
и чипы защищаются. - Tpoeшник(01.10.2020 11:58)
- Лотерея. Зависит от чипа, какие у него есть аппаратные средства контроля выхода за границы, и активированы они или нет. Зависит от разделения памяти на чипе, возможно стек возвратов находится в отдельной памяти и ни как не пострадает. Зависит от организации регистрового поля у чипа и компилятора, компилятор может переменную i хранить в памяти, а может в регистре, результат будет разный. Слишком много вариантов. Поэтому проблема выхода за границы часто упоминается. - AlexBi(01.10.2020 12:11)
- Я сделал такое на реальном проекте после инициализации и прямо
перед основным циклом. Устройство работает. Смысл в том чтоб
оценить толщину брони у методов которыми от троешников компиляторы
и чипы защищаются. - Tpoeшник(01.10.2020 11:58)
- В чём смысл эксперимента? Вы затрёте всю память, включая стек
возврата, но в игрушечной программе, где нет других переменных и
некуда возвращаться, это, возможно, сойдёт с рук. В реальном
проекте - не сойдёт. - йцyкeн(01.10.2020 11:48)
- Я сейчас вот что сделаю раз такая пьянка: Tpoeшник(128 знак., 01.10.2020 11:09)
- Это же бесконечный цикл. С отрицательными индексами тоже будет
весело. Впрочем, хозяин — барин. - SciFi(01.10.2020 11:14)
- Почему бесконечный!? Нормальный цикл. Работает. Я не доказываю
ничего, проверяю. Переписал немного "код" - пашет Tpoeшник(144 знак., 01.10.2020 11:19)
- бесконечный будет если "for (INT16U i = 0; i <= 0xffff; i++)" - Дoктyp77(01.10.2020 11:22,
)
- Не понимаю вас. i плюсуется пока условие выполняется. Когда i
станет равным 0xffff программа выйдет из цикла. В итоге от 0 до
0xfffe сделает 0xffff итераций. Или я туплю где то!? - Tpoeшник(01.10.2020 11:27)
- немного ошибся, надо использовать uint16_t, а Вы условие в моём
сообщение внимательно изучите :) Дoктyp77(154 знак., 01.10.2020 11:36,
)
- Просто я невнимательный сегодня. Вместо INT16U показалось INT16 (то
есть -32768..32767). А тебе тройка за плохие названия типов. - SciFi(01.10.2020 11:35)
- Вообще INT16 у меня INT16S. Вам невнимательность прощаю (умный человек) , но по Украине позицию - нет. - Tpoeшник(01.10.2020 11:37)
- немного ошибся, надо использовать uint16_t, а Вы условие в моём
сообщение внимательно изучите :) Дoктyp77(154 знак., 01.10.2020 11:36,
- Не понимаю вас. i плюсуется пока условие выполняется. Когда i
станет равным 0xffff программа выйдет из цикла. В итоге от 0 до
0xfffe сделает 0xffff итераций. Или я туплю где то!? - Tpoeшник(01.10.2020 11:27)
- бесконечный будет если "for (INT16U i = 0; i <= 0xffff; i++)" - Дoктyp77(01.10.2020 11:22,
- Почему бесконечный!? Нормальный цикл. Работает. Я не доказываю
ничего, проверяю. Переписал немного "код" - пашет Tpoeшник(144 знак., 01.10.2020 11:19)
- Это же бесконечный цикл. С отрицательными индексами тоже будет
весело. Впрочем, хозяин — барин. - SciFi(01.10.2020 11:14)
- Ну ващета скрипт линкера ни как не ограничит обращения к памяти. - Nikolay801_(01.10.2020 11:55)