MSV не игнорируют летучие ключевое слово в режиме X64. ошибка?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 MSV не игнорируют летучие ключевое слово в режиме X64. ошибка?

Сообщение Anonymous »

Давайте посмотрим на этот код < /p>
void long_jmp();
void set_jmp();

void test()
{
volatile bool f = false;
set_jmp();
//
Нет никаких проверок для if (! f) < /code>, нет никаких условных прыжков.
Я предполагаю, что это ошибка компилятора MSVC. Отдельный вопрос, как в этом случае эта логика?
Real Code, с Winapi < /p>
void test()
{
volatile bool f = false;
CONTEXT ctx;
RtlCaptureContext(&ctx);

if (!f)
{
f = true;
ZwContinue(&ctx, FALSE);
}
}

Функции очень похожи на setjmp и longjmp , но rtlcapturecontext не возвращают значение, поэтому невозможно записать
void jtest()
{
CONTEXT ctx;

if (!RtlCaptureContext(&ctx))
{
ZwContinue(&ctx, FALSE);
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... 4-mode-bug
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»