Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 10 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

_fpreset

 Функция            Выполняет рестарт математического пакета операций
 
 

Функция Выполняет рестарт математического пакета операций

                    с плавающей точкой.
 
 Синтаксис          #include<float.h>
                    void _fpreset();
 
 Файл, содержащий   float.h
 прототип
 
 Описание           Функция _fpreset выполняет рестарт  математического
                    пакета операций с плавающей точкой.  Данная функция
                    обычно  используется  вместе  с  функциями  signal,
                    system, или функциями exec... или spawn...
 
                    Примечание. При работе  под  операционной  системой
                    DOS,  если  в программе используется математический
                    сопроцессор 80x87,  "дочерний" процесс (выполняемый
                    посредством функций system,  exec... или spawn...),
                    может  изменить  состояние  операций  с   плавающей
                    точкой "родительского" процесса.
 
                    Если вы   используете  сопроцессор  80x87,  примите
                    следующие предосторожности:
 
                    - Не  вызывайте  функции  exec...,   spawn...   или
                      system,  пока  выражение  с  плавающей  точкой не
                      вычислено.
 
                    - Для установки операций с плавающей  точкой  после
                      использования   функций   system,   exec...   или
                      spawn...  вызывайте функцию _fpreset (если только
                      есть    какой-либо   шанс   выполнения   дочерним
                      процессом   операций    с    плавающей    точкой,
                      посредством сопроцессора 8087/80287).
 
 Возвращаемое       Отсутствует.
 значение
 
 Переносимость      _fpreset уникальна для DOS.
 
 Смотрите также     clear87, _control87, exec...,  spawn...,
                    _status87, system.
 
 Пример:
 
 #include<stdio.h>
 #include<float.h>
 #include<setjmp.h>
 #include<signal.h>
 #include<process.h>
 #include<conio.h>
 
 jmp_buf reenter;
 
 /* определим программу обработки ошибочных ситуаций операций с
    плавающей точкой */
 void float_trap(int sig)
 {
    printf("Прерывание по ошибке операций с плавающей точкой.\n");
    printf("Для продолжения работы нажмите любую клавишу...\n");
    getch();
    /* рестарт сопроцессора или эмулятора */
    _fpreset();
    /* вернутся в точку, в которой возникла ошибка */
    longjmp(reenter,-1);
 }
 int main(void)
 {
    float one = 3.14, two = 0.0;
    /* установить программу обработки исключительных ситуаций операций
       с плавающей точкой */
    if(signal(SIGFPE,float_trap) == SIG_ERR)
    {
       printf("Ошибка при установке программы обработки прерываний\n");
       exit(3);
    }
    printf("Генерация математической ошибки. Нажмите клавишу...\n");
    getch();
    if(setjmp(reenter)==0)
      one /* two;
    printf("Возврат после обработки прерывания.\n");
    return 0;
 }
 


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS