Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
22 декабря
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
458367
Топик полностью
SS:ESP
(30.10.2013 14:02, просмотров: 1)
ответил
fk0
на
Внутри вызванной функции, если маловат -- что делать? Только abort() и остаётся. Стек уже не переместишь (в нём locals и arguments). А в вызывающей функции вместо call вполне можно сделать перемену стека и call функции в новом стеке.
abort() только в случае if(malloc(4096)==NULL){exit(1);} Тогда уж больше некуда. Соответственно или редизайн, или толще камень
Для особо тормознутых x86-х повторяю: стек изменить внутри вызывемой функции практически невозможно, ввиду очевидных трудностей с адресуемостью, после, аргументов функции (в старом стеке) и переменных функции (разорванных между старым и новым
fk0
(185 знак., 30.10.2013 14:52
)