Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорная техника Сторожок / MPLAB_C30_Руководство пользователя.pdf
Скачиваний:
161
Добавлен:
20.02.2016
Размер:
1.26 Mб
Скачать

Руководство пользователя по MPLAB® компилятору Си для PIC24 и dsPIC®

Приложение A. Определяемое реализацией поведение

A.1.

A.2.

Введение

В этом приложении обсуждается

определяемое реализацией поведение

компилятора MPLAB Cи для PIC24 и dsPIC (бывшего MPLAB C30). Стандарт ISO для

 

 

.

Cи требует, чтобы поставщики специфицировали «определяемые реализацией»

особенности языка.

 

A

Основные вопросы

 

 

Wilson

Вопросы, обсуждаемые в этой главе:

 

Трансляция

 

 

Окружение

 

 

Идентификаторы

 

 

Символы

 

 

Целые

 

 

С плавающей точкой

by

 

Массивы и указатели

 

 

 

Регистры

 

 

Структуры, союзы, перечисления и битовые поля

Translated

 

 

Квалификаторы

 

 

Деклараторы

Операторы

Директивы препроцессора

Библиотечные функции

Сигналы

Потоки и файлы

Временный файл (tmpfile)

E no

Память

Abort

Exit

Getenv

Система

Strerror

 

 

© 2008 Microchip Technology Inc.

DS51284H(ru) стр. A-1

16-битовый компилятор Си. Руководство

A.3.

A.4.

A.5.

Трансляция

Определяемое реализацией поведение при трансляции описывается в секции G3.1 стандарта ANSI Си.

Сохраняется ли каждая непустая последовательность символов пробела, кроме новой строки, или заменяется одним пробелом? (ISO 5.1.1.2)

Заменяется одним символом пробела.

Как идентифицировать диагностическое сообщение? (ISO 5.1.1.3)

Диагностические сообщения идентифицируются добавлением разделенных

Есть ли другие классы сообщений? (ISO 5.1.1.3).

A

.

 

Да.

 

 

Если да, то какие они? (ISO 5.1.1.3)

 

 

 

Wilson

 

 

Ошибки, которые запрещают создание выходного файла, и предупреждения,

которые не запрещают создание выходного файла.

Что такое возвращаемый транслятором код состояния для каждого класса

сообщения? (ISO 5.1.1.3)

 

 

 

символом двоеточия (':') префикса из имени исходного файла и номера строки, соответствующей сообщению.

Для ошибок возвращаемый код состояния — 1, для предупреждений — 0.

Может уровень диагностики быть управляемым? (ISO 5.1.1.3).

Да.

 

Если да, какую форму принимает управление? (ISO 5.1.1.3)

 

by

Для разрешения или запрета генерации предупреждающих сообщений

используются опции командной строки компилятора.

Окружение

 

Translated

 

Определяемое реализацией поведение для окружения описывается в секции G3.2 стандарта ANSI Си.

Какие библиотечные средства доступны для автономной (freestanding) программы? (ISO 5.1.2.1)

Все средства стандартной библиотеки Cи доступны, при условии, что небольшой набор функций будет адаптирован для среды, как описано в секции «Библиотеки времени исполнения».

Опишите завершение программы в автономной среде. (ISO 5.1.2.1)

При возврате из функции main или вызове функции exit, команда HALT выполняется в бесконечном цикле. Это настраиваемое поведение.

Опишите аргументы (параметры) передаваемые в функцию main? (ISO 5.1.2.2.1)

Никаких параметров в main не передается.

Какое из следующих диалоговых устройств правомерно: (ISO 5.1.2.3)

Асинхронный терминал — нет

Пара дисплей и клавиатура — нет

Межпрограммная связь — нет

Другое, пожалуйста опишите? Нет таких

Идентификаторы

Определяемое реализацией поведение для идентификаторов описывается в секции G3.3 стандарта ANSI Си.

DS51284H(ru) стр. A-2

© 2008 Microchip Technology Inc.

Приложение A Определяемое реализацией поведение

A.6.

A.7.

Сколько символов сверх тридцати одного (31) являются значимые в идентификаторе без внешней видимости? (ISO 6.1.2)

Все символы значимые.

Сколько символов сверх шести (6) являются значимые во внешнем идентификаторе? (ISO 6.1.2)

Все символы значимые.

Регистр символа имеет значение во внешнем идентификаторе? (ISO 6.1.2).

Да

Символы

.

 

A

Определяемое реализацией поведение для символов описывается в секции G3.4

стандарта ANSI Си.

Wilson

 

Опишите подробно любой исходный символ и символ среды исполнения, которые явно не определены стандартом? (ISO 5.2.1)

Нет таких.

Перечислите значения escape последовательностей для указанных последовательностей. (ISO 5.2.2)

ТАБЛИЦА A-1. СИМВОЛЫ И ЗНАЧЕНИЯ ESCAPE ПОСЛЕДОВАТЕЛЬНОСТЕЙ

Последовательность

Значение

 

 

 

\a

 

7

\b

by

8

 

 

 

 

\f

 

12

 

 

 

\n

 

10

 

 

 

\r

 

13

 

 

 

Translated

 

9

\t

 

\v

 

11

Сколько битов в символе из набора символов среды исполнения? (ISO 5.2.4.2)

8.

Как отображаются члены набора исходных символов (в символьных и строковых литералах) на члены набора символов среды исполнения? (ISO 6.1.3.4)

Тождественно.

Что такое тип, эквивалентный простому char? (ISO 6.2.1.1)

Один из двух (по выбору пользователя). По молчанию — signed char. Опция командной строки компилятора может сделать умолчанием unsigned char.

Целые

Определяемое реализацией поведение для целых описывается в секции G3.5 стандарта ANSI Си.

Следующая таблица описывает объем памяти и диапазоны различных типов целых: (ISO 6.1.2.5)

ТАБЛИЦА A-2. ЦЕЛЫЕ ТИПЫ

Описание

Размер (биты)

Диапазон

 

 

 

char

8

–128...127

signed char

8

–128...127

 

 

 

unsigned char

8

0...255

 

 

 

short

16

–32768...32767

 

 

 

signed short

16

–32768...32767

 

 

 

© 2008 Microchip Technology Inc.

DS51284H(ru) стр. A-3

16-битовый компилятор Си. Руководство

ТАБЛИЦА A-2. (ПРОД-Е) ЦЕЛЫЕ ТИПЫ

 

 

Описание

 

Размер (биты)

 

 

Диапазон

 

 

 

 

 

 

 

 

unsigned short

 

16

0...65535

 

 

int

 

16

–32768...32767

 

 

 

 

 

 

 

 

signed int

 

16

–32768...32767

 

 

 

 

 

 

 

 

unsigned int

 

16

0...65535

 

 

 

 

 

 

 

 

long

 

32

–2147483648...2147483647

 

 

 

 

 

 

 

 

signed long

 

32

–2147483648...2147483647

 

 

 

 

 

 

 

 

unsigned long

 

32

0...4294867295

 

 

 

 

 

 

 

 

 

 

 

 

 

.

в более короткое знаковое целое,

 

 

Что является результатом преобразования целого

 

 

или результатом преобразования беззнакового целого в знаковое целое той же

 

 

длины, если величина не может быть представлена?A

(ISO 6.2.1.2)

 

 

 

 

Wilson

 

 

 

 

 

Потеря значимости. Никаких сообщений об ошибках не выдается.

 

 

Что являться результатом поразрядных операций над знаковыми целыми? (ISO 6.3)

 

 

Операции сдвига сохраняют знак. Другие операции действуют, как будто операнд

 

 

(операнды) является беззнаковым целым.

 

 

 

 

 

Каков знак остатка при в делении целых? (ISO 6.3.5)

 

 

+

 

 

 

 

 

 

 

Что является результатом сдвига вправо отрицательного значения целого типа со

 

 

знаком? (ISO 6.3.7)

 

 

 

 

 

 

 

Знак сохраняется.

by

 

 

 

 

A.8.

С плавающей точкой

 

 

 

 

 

 

 

 

 

 

 

Определяемое реализацией

поведение для

 

величин с плавающей точкой

 

 

longTranslateddouble

 

64

2.22507385e–308 ... 1.79769313e+308

 

 

описывается в секции G3.6 стандарта ANSI Си.

 

 

 

 

 

Будет ли масштабированная величина константы с плавающей точкой, которая

 

 

находится в диапазоне представимых значений для своего типа, ближайшим

 

 

представимым значением, или большим представимым значением,

 

 

непосредственно смежным с ближайшим, или меньшим представимым значением,

 

 

непосредственно смежным с ближайшим представимым значением? (ISO 6.1.3.1)

 

 

Будет ближайшим представимым значением.

 

 

 

 

 

Следующая таблица описывает объем памяти и диапазоны различных типов с

 

 

плавающей точкой: (ISO 6.1.2.5)

 

 

 

 

 

 

ТАБЛИЦА A-3. ТИПЫ С ПЛАВАЮЩЕЙ ТОЧКОЙ

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание

 

Размер (биты)

 

 

Диапазон

 

 

 

 

 

 

 

 

float

 

32

1.175494e–38 ... 3.4028234e+38

 

 

double (1)

 

32

1.175494e–38 ... 3.4028234e+38

 

 

 

 

 

 

 

 

Примечание 1. Если используется опция -fno-short-double, то double эквивалентен long double.

Какое будет направление усечения, когда целое число преобразуется в число с плавающей точкой, которое не может точно представить оригинальную величину? (ISO 6.2.1.3)

Вниз.

Какое будет направление усечения или округления, когда число с плавающей точкой преобразуется в число с плавающей точкой меньшего диапазона? (ISO 6.2.1.4)

Вниз.

DS51284H(ru) стр. A-4

© 2008 Microchip Technology Inc.

Соседние файлы в папке Микропроцессорная техника Сторожок