Вопросы по теме 'setjmp'

Многозадачность с использованием setjmp, longjmp
есть ли способ реализовать многозадачность с помощью функций setjmp и longjmp
7590 просмотров
schedule 23.06.2023

Легальное использование setjmp и GCC
Используя GCC (4.0 для меня), это законно: if(__builtin_expect(setjmp(buf) != 0, 1)) { // handle error } else { // do action } Я нашел обсуждение, в котором говорилось, что это вызвало проблему для GCC еще в 2003 году, но я...
1329 просмотров
schedule 16.12.2022

Использование setjmp и longjmp в C при связывании с библиотеками C++
Я хотел бы использовать setjmp и longjmp в программе C, которая ссылается на библиотеку, реализованную на C++ (но имеющую C API). Код C++ выполняет динамическое выделение памяти, а указатели передаются через API, но пока сторона C кода правильно...
823 просмотров
schedule 23.05.2022

Как (вычислить) goto и longjmp в C ++?
Обычно я не пишу C ++, но мой странный друг-компьютерщик устал от просмотра моих замечательных программ FORTRAN и попросил меня переписать одну из них на C ++, так как ему больше нравятся мои коды C ++. (Здесь мы делаем ставку на деньги.) Точные...
3082 просмотров
schedule 01.06.2023

почему я вижу эту ошибку настройки libzdb?
Я пытаюсь установить libzdb на свой macbook, однако при запуске конфигурации вижу следующее сообщение об ошибке: configure:13334: error: setjmp is required файл setjmp.h находится в /usr/include и указан в моем "$PATH" как...
756 просмотров
schedule 29.11.2022

Как работают два независимых jmp_buf?
Привет, я хочу спросить о setjmp/longjmp. Пытался искать, но безуспешно... #include <stdio.h> #include <setjmp.h> jmp_buf a, b; void jump() { int aa = setjmp(a); if (aa) { printf("Jump!\n"); } else...
53 просмотров
schedule 29.09.2023

Написание моего собственного longjmperror() на C
Я просматривал руководство для longjmp, и в части ошибок говорится следующее: ОШИБКИ Если содержимое env повреждено или соответствует уже возвращенной среде, подпрограмма longjmp() вызывает подпрограмму longjmperror(3). Если...
214 просмотров
schedule 02.10.2022

Чистые/константные функции Gcc и longjmp
Предположим, у меня есть функция C, которая в остальном соответствует критериям, которые должны быть аннотированы GCC с помощью __attribute__((pure)) или __attribute__((const)) , за исключением того, что для определенных входных параметров...
191 просмотров
schedule 08.08.2023

Как безопасно сгенерировать предупреждение R в Rcpp
Мы знаем, что в Rcpp следует избегать вызова Rf_error() , так как он включает в себя longjmp над деструкторами C++ в стеке. Вот почему мы предпочитаем генерировать исключения C++ в коде Rcpp (например, throw Rcpp::exception("...") или через...
2855 просмотров
schedule 28.12.2022

Размотка глубоких штабелей
В первую очередь, это точно про C, никаких решений на C ++ не требуется. Цель: возврат к вызывающей функции ( A ) за пределами нескольких фреймов стека. У меня есть несколько решений, но ни одно из них не кажется лучшим вариантом. Самый...
421 просмотров
schedule 21.04.2024

C ++ и безопасный способ выйти из динамически сгенерированного кода
Мой проект написан на C ++ и использует динамически сгенерированный код для склеивания некоторых вещей (с использованием TCC Фабриса Белларда и немного вручную сгенерированных преобразователей сборки). Динамически сгенерированный код иногда...
573 просмотров
schedule 26.12.2022

Можно ли использовать longjmp перед вызовом va_end?
В этом Q&A установлено, что вы всегда должны вызывать va_end() : Для чего именно нужен va_end? Всегда ли необходимо вызывать его? Но что, если кусок кода longjmp дойдет до va_end? Есть ли обещание со стороны va_end, что все будет хорошо?...
276 просмотров

setjmp и longjump для реализации потоков
У меня был вопрос об использовании setjmp и longjump для создания стеков функций, которые могут работать независимо друг от друга. Со ссылкой на этот вопрос Здесь стек функций для B(), кажется, находится поверх стека для A, поэтому, когда A...
1591 просмотров
schedule 09.03.2023

Есть ли в java своего рода setjmp/longjmp?
Я признаю, что если бы это было возможно, это было бы открытой дверью для плохого, очень плохого кода... Но в некоторых конкретных случаях... Итак, вопрос в том, есть ли эквивалент c setjmp/longjmp ? Я хотел бы реализовать python-подобный...
826 просмотров
schedule 22.06.2023

Предупреждение MSVC 4611 относительно setjmp со структурой POD
Попытка включить некоторые уровни предупреждений в кодовой базе C, которая также строится как C++. Я даю Visual Studio шанс (по какой-то причине). Получил предупреждение о взаимодействиях с setjmp, несмотря на отсутствие соответствующих...
414 просмотров

установить кодовый поток прыжков и длинных прыжков в c
Я пытаюсь изучить setjump и longjump на C. Может ли кто-нибудь помочь мне с выводом следующего кода вместе с потоком кода и объяснением случаев. Я вызвал функцию funcall() в коде. Аварийный сигнал вызывается для первой итерации, но в последующих...
2017 просмотров
schedule 22.10.2022

проблема с setjmp и longjmp для переключения между двумя функциями
Я пытаюсь реализовать код, который постоянно переключается между функциями fun() и main(), которые ничего не делают, кроме бесконечной печати на экране. Я пытаюсь переключиться с помощью setjmp и longjmp и использую сигнал SIGALRM в C. Но когда я...
130 просмотров
schedule 21.01.2023

пользовательская ошибка сегментации реализации setjmp/longjmp
Я пытаюсь реализовать собственный setjmp/longjmp для 64-разрядных окон. У меня есть следующий код: contextSave: xorq %rdx,%rdx movq %rdx,(%rcx) movq %rbx,0x8(%rcx) leaq 0x8(%rsp),%rax movq %rax,0x10(%rcx) movq %rbp,0x18(%rcx) movq...
171 просмотров
schedule 28.07.2022