ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
629125 Топик полностью
fk0, легенда (06.11.2015 00:47, просмотров: 314) ответил Evgeny_CD на Все равно с переносимостью будут проблемы. setjmp не является универсальной на всех платформах. Т.е. не намного лучше асмового кода.
Не говори о чём не знаешь с высоты менагерского полёта. Я как проф. программист тебе скажу, что alloca() и setjmp() как раз и являются кросплатформенным способом выкрутиться из ситуации без знания регистров и ассемблера. Будь там операционка (т.е. unix-like) там бы был ещё makecontext() и можно было стек malloc-ом выделять. А так способа изменить SP (без ассемблера и регистров) вообще нет, кроме alloca или массивов переменной длины из C99 (вариант -- на шаблонах в C++ может что-то изобразить похожее можно, но не в динамике).
[ZX]