2.1.1.3 Как идентифицировать диагностические сообщения
При запуске с правильной комбинацией опций любое сообщение, выдаваемое компилятором и начинающееся словами Fatal, Error или Warning, считается диагностическим в смысле, определяемом ANSI. Ниже приводятся опции, необходимые для того, чтобы обеспечивалась данная интерпретация:
Идентификация диагностических сообщений в TurboC++
Таблица A.1
Опция Действие
-A -C- -p- i32 w- wbei wdcl wcpt wdup wsus wrpt wvrt wbig wucp wstu wext wfdt | Разрешает только ключевые слова ANSI Запрещает вложенные комментарии Устанавливает использование соглашения о связях С Устанавливает минимум 32 значащих символа в идентификаторах Выключает все предупреждения, кроме следующего Включает предупреждение о несоответствии инициализаторов Включает предупреждение об объявлениях без типа или класса памяти Включает предупреждение о немобильных сравнениях указателей Включает предупреждение о дублирующихся не-идентичных определениях макроса Включает предупреждение о подозрительном преобразовании указателя Включает предупреждение о немобильных преобразованиях указателей Включает предупреждение о функции void, возвращающей значение Включает предупреждение о слишком большой константе Включает предупреждение о смешанном использовании указателей signed и unsigned char Включает предупреждение о неопределенных структурах Включает предупреждение о переменных, определенных сразу как external и static Включает предупреждение об определениях функции, использующих typedef | |
Использование следующих опций запрещено: |
-ms! Для моделей данных small SS и DS должны совпадать.
-mm! Для моделей данных small SS и DS должны совпадать.
-mt! Для моделей данных small SS и DS должны совпадать.
-zGxx Имя группы BSS не может быть изменено.
-zSxx Имя группы данных data не может быть изменено.
Прочие опции, не упомянутые здесь специально, могут устанавливаться по вашему желанию.
2.1.2.2 Семантика аргументов, передаваемых функции main
Когда программа выполняется в операционной системке DOS версий до 3.0, значение argv[0] представляет собой указатель на нулевой байт. Для версии DOS 3.0 и старше argv[0] указывает на имя программы.
Остальные строки argv указывают на каждый компонент аргументов командной строки DOS. Пробельные символы, разделяющие аргументы, удаляются, и каждая последовательность непрерывных не-пробельных символов рассматривается как отдельный аргумент. Строки символов в кавычках рассматриваются обычным способом (как одна строка, которая может содержать пробелы.)
2.1.2.3 Что считается интерактивным устройством
Любое устройства, работающее как консоль.
2.2.1Компоненты наборов символов - исходного и времени выполнения
Наборы символов, исходный и времени выполнения, представляют собой расширенный набор символов ASCII, поддерживаемый IBM PC. Любой символ, кроме ^Z (Control-Z) может находиться в строковых литералах, символьных константах или комментариях.
2.2.1.2 Состояния сдвига для многобайтных символов
Многобайтные символы в Turbo C++ не поддерживаются.
2.2.2Направление печати
Печать символов происходит слева-направо, в нормальном для PC направлении.
2.2.4.2 Число битов в символе из набора времени выполнения
Символ из набора символов времени выполнения имеет длину 8 битов.
3.1.2Число значащих начальных символов идентификатора
Значащими являются только первые 32 символа, хотя это значение может быть изменено при помощи опции командной строки (-l). И внешние, и внутренние символические имена имеют одинаковое число значащих символов. (Число значащих символов в идентификаторах С++ не ограничено).
3.1.2Учитывается ли регистр во внешних идентификаторах
Компилятор обычно заставляет компоновщик делать различие между заглавными и строчными буквами. Для того, чтобы подавить учет регистра, служит опция командной строки (-l-c).
3.1.2.5 Представления и множества принимаемых значений для различных интегральных типов
Тип Минимальное значение Максимальное значение
signed char -128 127
unsigned char 0 255
signed short -32,768 32,767
unsigned short 0 65,535
signed int -32,768 32,767
unsigned int 0 65,535
signed long -2,147,483,648 2,147,483,647
unsigned long 0 4,294,967,295
Все типы char используют для хранения значения 8-битовый байт.
Все типы short и int используют 2 байта.
Все типы long используют 4 байта.
Если задано выравнивание в памяти (-a), все объекты интегральных типов, кроме char, выравниваются по границе четных байтов.
Символьные типы не выравниваются никогда.
3.1.2.5 Представления и множества принимаемых значений для различных типов чисел с плавающей точкой
Для типов с плавающей точкой Turbo C++ Intel 8087 использует форматы плавающей точки IEEE. Тип float использует 32-битовый формат действительных чисел IEEE. Тип double использует 64-битовый формат действительных чисел IEEE. Тип long double использует 80-битовый расширенный формат действительных чисел IEEE.
3.1.3.4 Соотношение между наборами символов - исходным и времени выполнения
Любые символы в строковых литералах или символьных константах остаются во время выполнения программы без изменений. Наборы символов, исходный и времени выполнения, одинаковы.
3.1.3.4 Значение целочисленной символьной константы, содержащей символ или управляющую последовательность, не представленные в базовом наборе символов времени выполнения или в расширенном наборе символов, для широкой символьной константы
Широкие символы не поддерживаются. Они рассматриваются как обычные символы. Все допустимые управляющие последовательности помещаются в один или другой символ. Если используется шестнадцатиричная или восьмеричная управляющая последовательность, превышающая допустимый для символа диапазон, компилятор выдает сообщение.
3.1.3.4 Значение целочисленной константы, которая содержит более одного символа, или широкая символьная константа, которая содержит более одного многобайтного символа
Символьные константы могут содержать один или два символа. Если включено два символа, то первый символ занимает младший байт константы, а второй занимает старший байт.
3.1.3.4 Текущее место действия, используемое для преобразования многобайтных символов в соответствующие широкие символы для широкой символьной константы
Широкие символьные константы распознаются, но рассматриваются, как обычные символьные константы. В этом смысле "местом действия" является "С".
3.2.1.2 Результат преобразования целого в более короткий тип целого со знаком, либо результат преобразования целого без знака в целое со знаком равной длины, если значение не может быть представлено полностью
Эти преобразования выполняются простым усечением битов старшего порядка. Целые со знаком хранятся в виде дополнения до 2, поэтому результирующее число интерпретируется как таковое. Если старший бит более короткого целого ненулевой, то это значение интерпретируется как отрицательное; в противном случае оно считается положительным.
3.2.1.3 Направление усечения, когда число интегрального типа преобразуется в число с плавающей точкой, которое не может в точности представлять исходное число
Целое число округляется до ближайшего представимого значения. 31-1
Например, значение типа long (2 ) преобразуется в значение float 31
2 . Разрешение направления округления производится по стандартным арифметическим правилам IEEE.
3.2.1.4 Направление усечения или округления при преобразовании число с плавающей точкой в число с плавающей точкой меньшей точности представления.
Число округляется до ближайшего представимого значения. Разрешение направления округления производится по стандартным арифметическим правилам IEEE.
3.3 Результаты поразрядных операций для целых со знаком
Поразрядные операции выполняются для целых со знаком так же, как и для соответствующих типов без знака. Знаковый бит рассматривается как обычный бит данных. Результат затем интерпретируется как обычное целое со знаком, представленное как дополнение до 2.
... к сожалению, обратное утверждение не верно. C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр. Delphi — язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi ...
... ориентированы на 32 разрядные шинные архитектуры компьютеров с процессорами 80386, 80486 или Pentium. Фирма Novell также подготовила варианты сетевой ОС NetWare, предназначенные для работы под управлением многозадачных, многопользовательских операционных систем OS/2 и UNIX. Версию 3.12 ОС NetWare можно приобрести для 20, 100 или 250 пользователей, а версия 4.0 имеет возможность поддержки до 1000 ...
... завдання поширюється на розробку системи обліку зареєстрованих автомобілів в ДАІ, призначеної для збору, зберігання, а також полегшення для доступу та використання інформації. Програма з обліку зареєстрованих автомобілів в ДАІ, представляє собою, перехід від паперових носіїв інформації до електронних. Система обліку зареєстрованих автомобілів значно допоможе працівникам ДАІ з обліку, аналізу та ...
... меньше времени и ответ клиенту агентство может дать уже в день подачи заявки. Каждая турфирма разрабатывает индивидуальный образец листа бронирования. Согласно Федеральному Закону «Об основах туристской деятельности в Российской Федерации» (гл. IV, ст. 9) – это конкретный заказ туриста или лица, уполномоченного представлять группу туристов, туроператору на формирование туристского продукта. ...
0 комментариев