Пространства имён
Варианты
Действия

Implementation defined behavior control

Материал из cppreference.com

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 
 
Реализация определенное поведение контролируется директивой #pragma.
Оригинал:
Implementation defined behavior is controlled by #pragma directive.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Синтаксис

#pragma pragma_params

[править] Объяснение

Pragma директива контролирует реализацию конкретных поведение компилятора, такие как отключение предупреждений компилятора или изменением требований по выравниванию. Любая директива, которая не признала игнорируются.
Оригинал:
Pragma directive controls implementation-specific behavior of the compiler, such as disabling compiler warnings or changing alignment requirements. Any pragma that is not recognized is ignored.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Стандартный прагм

Следующие три прагм определяется стандартом языка
Оригинал:
The following three pragmas are defined by the language standard:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
#pragma STDC FENV_ACCESS arg (1)
#pragma STDC FP_CONTRACT arg (2)
#pragma STDC CX_LIMITED_RANGE arg (3)
где arg либо ON или OFF или DEFAULT.
Оригинал:
where arg is either ON or OFF or DEFAULT.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
Если установлено ON, сообщает компилятору, что программа будет доступа или изменения плавающей точкой окружающей среды, что означает, что оптимизаций, которые могут подорвать флаг испытания и изменения режима (например, глобальные общих подвыражений, код движения, и постоянная складывающиеся) запрещено. Значение по умолчанию определяется реализацией, как правило, OFF.
Оригинал:
If set to ON, informs the compiler that the program will access or modify плавающей точкой окружающей среды, which means that optimizations that could subvert flag tests and mode changes (e.g., global common subexpression elimination, code motion, and constant folding) are prohibited. The default value is implementation-defined, usually OFF.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Позволяет' договаривающиеся с плавающей точкой выражения, то есть оптимизации, которые опускать ошибки округления и с плавающей точкой исключений, которые можно было бы наблюдать, если выражение оценивали именно так, как написано. Значение по умолчанию определяется реализацией, как правило, ON.
Оригинал:
Allows contracting of floating-point expressions, that is optimizations that omit rounding errors and floating-point exceptions that would be observed if the expression was evaluated exactly as written. The default value is implementation-defined, usually ON.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Сообщает компилятору, что умножение, деление, и абсолютное значение комплексных чисел могут использовать упрощенные математические формулы, несмотря на возможность промежуточной переполнения. Диапазон значений, переданных для тех функций, как ожидается, будет ограниченным. Значение по умолчанию OFF
Оригинал:
Informs the compiler that multiplication, division, and absolute value of complex numbers may use simplified mathematical formulas, despite the possibility of intermediate overflow. The range of the values passed to those function is expected to be limited. The default value is OFF
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Внешние ссылки