Вопросы по теме '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 просмотров
schedule
02.10.2022
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 просмотров
schedule
12.11.2022
установить кодовый поток прыжков и длинных прыжков в 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