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

Предупреждение может быть удалено на объекте C ++ с помощью setjmp
#include <setjmp.h> #include <vector> int main(int argc, char**) { std::vector<int> foo(argc); jmp_buf env; if (setjmp(env)) return 1; } Компиляция приведенного выше кода с GCC 4.4.1, g ++ test.cc -Wextra -O1, дает это...
7937 просмотров
schedule 06.04.2023

Реализация вытесняющих микропотоков с использованием обработчиков сигналов и setjmp/longjmp
Я хочу реализовать микропотоки, совместимые с POSIX, в среде Linux. Основная идея заключается в следующем: Используя метод, описанный здесь , назначьте новое пространство стека для каждого волокна. Используя setitimer, создайте таймер,...
963 просмотров
schedule 24.05.2023

указание jmp_buf как указателя
Я пытаюсь определить jmp_buf как указатель и использовать его во вложенных longjmp (s), как показано ниже: ... jmp_buf *bfj; ... а затем написать if else: if( setjmp(*bfj) == 0){ DS[SP-2].int_val=(int)bfj;; //to store the bfj }else {}...
1095 просмотров
schedule 02.07.2022

C setjmp.h и ucontext.h, что лучше?
Привет, мне нужно прыгать с места на другое... Но я хотел бы знать, что лучше использовать, setjmp или ucontext, например: Переносимы ли setjmp и ucontext? Мой код является потокобезопасным, используя эту библиотеку? Зачем использовать...
1944 просмотров
schedule 27.11.2022

Какой смысл в этих предупреждениях о засоренных переменных?
У меня есть такая функция: #include <setjmp.h> jmp_buf buf; void func2(int g); extern int some_global; void func(int x) { if (setjmp(buf)) return; if (some_global) x += 5; func2(x); } GCC (gcc (Debian...
6941 просмотров
schedule 15.07.2023

сбой setjmp/longjmp
кусок кода здесь jmp_buf mark; int Sub_Func() { int be_modify, jmpret; be_modify = 0; jmpret = setjmp( mark ); if( jmpret == 0 ) { // sth else here } else { // error handle...
1786 просмотров
schedule 03.11.2022

Библиотека C++ и C с использованием longjmp
Я работаю с Lua, у которого есть C API, а его функции обработки ошибок используют longjmps. При возникновении ошибки я сначала создаю сообщение, описывающее, что пошло не так, а затем говорю Lua, чтобы он вызвал ошибку. Например...
494 просмотров
schedule 19.05.2023

Могут ли адреса неизмененных местных жителей оказаться поврежденными в setjmp / longjmp?
Если кто-то попадает в ситуацию застревания при использовании setjmp / longjmp (не спрашивайте) , то компилятор выдает много хороших предупреждений о том, когда вы можете сделать что-то не так. Но с -Wall -Wextra -pedantic сборкой при...
283 просмотров

Как избавиться от ошибки при выходе из pthread, когда он находится в режиме сна()?
Прежде всего, я хотел бы извиниться за запутанный заголовок. Но вот мой вопрос: У меня есть основная функция, которая порождает другой поток, который время от времени работает только с «сном (3)» между ними. Внутри main.c у меня есть цикл...
218 просмотров
schedule 16.12.2022

Безопасное использование longjmp/setjmp с volatile
Я думаю использовать макрос TRY/CATCH на основе setjmp/longjmp для обработки ошибок. В противном случае некоторые из моих хорошо структурированных функций будут разрушены уродливыми операторами if и флажками цикла. Код подобен этому примеру:...
414 просмотров
schedule 11.08.2022