• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Реализация Переходов

  • Автор темы Radik1983
  • Дата начала
R

Radik1983

Есть сложный алгоритм такого типа:
<!--shcode--><pre><code class='C'>void Algoritm(void)
{
Restore_Context();
Send_CMD1();
Save_Context();
if (fCheckCmd(cCmdOK))
{
Send_CMD2();
Save_Context();
if (fCheckCmd(cCmdOK))
{
....
}
}
return;
}[/CODE]
В функциях Save_Context должен сохранятся адрес текущего адреса кода и при следующем входе в функцию Algoritm посредством функции Restore_Context возвращаться на этот адрес.

Если есть какие-нибудь соображения по способам реализации данного подхода средствами языка С, буду весьма рад...
 
L

lazybiz

setjmp(), longjmp()

 
R

rrrFer

адрес текущего адреса кода
Я не понял.
Ага, я баловался этими штучками когда маленький был :) Это нехорошо, считаю что если с текущим алгоритмом/архитектурой приложения нам без длинных переходов не обойтись - то надо менять алгоритм/архитектуру.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!