Вопросы по теме '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 просмотров
schedule
20.04.2023
Как избавиться от ошибки при выходе из pthread, когда он находится в режиме сна()?
Прежде всего, я хотел бы извиниться за запутанный заголовок. Но вот мой вопрос:
У меня есть основная функция, которая порождает другой поток, который время от времени работает только с «сном (3)» между ними.
Внутри main.c у меня есть цикл...
218 просмотров
schedule
16.12.2022
Безопасное использование longjmp/setjmp с volatile
Я думаю использовать макрос TRY/CATCH на основе setjmp/longjmp для обработки ошибок. В противном случае некоторые из моих хорошо структурированных функций будут разрушены уродливыми операторами if и флажками цикла.
Код подобен этому примеру:...
414 просмотров
schedule
11.08.2022