ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 апреля
944101 Топик полностью
LightElf (03.09.2019 11:53, просмотров: 616) ответил SciFi на Э-э, так нечестно. Если компилятор любит так безобразничать, пусть отслеживает, что вот тут longjmp, отставить безобразия.
Насколько я помню, setjmp/longjmp не предназначены для впрыгивания "внутрь" (вниз по стеку). Они, кагбэ, предназначены для выпрыгивания из вложенных функций (вверх по стеку). Т.е. если A() вызывает B(), а B() вызывает C(). То из C() выпрыгнуть в A() кошерно, а из A() впрыгнуть в C() - как повезет. Патамучта стековые фреймы B() и C() могут быть уже кем-нибудь разрушены. Я ж в своем поделии не просто так едрился и стеки сохранял, кумекал чего-то мал-помалу.
Не надо делать мне как лучше, оставьте просто хорошо