Имеется такая строчка в методе на il: "IL_0007: ret". Что это значит ? (Понятно, что это связано с окончанием метода, но как конкретно)
IL многое почерпнул из набора инструкций 8086. RET
означает return, то есть возврат из метода.
Вызов процедур и возврат на низком уровне реализован с помощью стека. Инструкция CALL
сохраняет в стеке адрес инструкции, которая следует сразу за ней и передаёт управление туда, куда вы ей указали.
Когда процессор встречает инструкцию RET
, он извлекает из стека адрес следующей инструкции и передаёт управление на неё. Из-за того, что адрес возврата хранится не в регистрах, а в стеке, размер которого достаточно большой, процедуры могут вызывать друг друга столько раз, сколько потребуется.
Впрочем, если вы допустили ошибку в программе, или запустили рекурсивную функцию на очень больших данных, стек всё-таки может оказаться переполненным. Именно ошибка переполнения стека — stack overflow — дала название этому сайту, где мы задаём и отвечаем на вопросы.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пытаюсь по нажатию кнопки обработать все строки в гридеВ моем случае есть грид с сообщениями
Имеется сервис, который собирает данные и отправляет в другой сервисСервис работает в докер-контейнере