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

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

A.9.

A.10.

A.11.

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

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

Какой тип целого требуется для хранения максимального размера массива, или какой будет тип оператора определения типа размера, size_t? (ISO 6.3.3.4, ISO 7.1.1)

unsigned int.

Какой необходим размер целого для преобразования указателя в интегральный тип?

(ISO 6.3.4)

.

16 битов.

 

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

Отображение тождественно.

A

 

Какой тип целого требуется для хранения разницы между двумя указателями на

элементы одного и того же самого массива, ptrdiff_t? (ISO 6.3.6, ISO 7.1.1)

unsigned int.

Wilson

 

Регистры

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

В какой степени спецификатор класса памяти register действительно влияет на хранение объектов в регистрах? (ISO 6.5.1)

Если оптимизация запрещена,by будет сделана попытка выполнить предписание класса памяти register, в противном случае он будет проигнорирован.

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

ОпределяемоеTranslatedреализацией поведение для структур, союзов, перечислений и битовых полей описывается в секциях A6.3.9 и G3.9 стандарта ANSI Си.

Что будет результатом, если к объекту типа члена союза осуществляется доступ с использованием элемента другого типа? (ISO 6.3.2.3)

Никаких преобразований не производится.

Опишите заполнение и выравнивание для членов структур? (ISO 6.5.2.1)

Символы выровнены на байт. Все другие объекты выровнены на слово.

Какой тип является эквивалентом простого int битового поля? (ISO 6.5.2.1)

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

Какой порядок расположения полей битов в пределах int? (ISO 6.5.2.1)

Биты расположены от младшего к старшему.

Может ли битовое поле простираться за границу ячейки памяти? (ISO 6.5.2.1).

Да.

Какой целый тип выбран для представления величин типа перечисления? (ISO 6.5.2.2)

int.

A.12. Квалификаторы

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

© 2008 Microchip Technology Inc.

DS51284H(ru) стр. A-5

Ограничений нет.
A.15. Директивы препроцессора

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

Опишите, какое действие производится при доступе к объекту, тип которого имеет квалификатор volatile? (ISO 6.5.3)

Если объект указан в выражении, к нему будет произведен доступ.

A.13. Деклараторы

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

Каково максимальное количество деклараторов, которые могут модифицировать

арифметический или структурный типы, или союз? (ISO 6.5.4).

Ограничений нет.

.

A.14. Операторы

A

 

Соответствует ли значение односимвольнойWilson

константы в константном выражении,

by

 

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

Какое максимальное количество значений case в операторе switch? (ISO 6.6.4.2).

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

которое управляет условием включения, значению той же символьной константы в в наборе символов среды исполнения? (ISO 6.8.1).

Да.

Может ли определенная символьная константа иметь отрицательную величину? (ISO

Да.

6.8.1)Translated.

Какой метод используется для поиска включаемых исходных файлов? (ISO 6.8.2)

Препроцессор ищет в текущем каталоге, а затем в каталогах, указанных опциями командной строки.

Как идентифицируются заголовки и определяется их местоположение? (ISO 6.8.2)

Заголовки идентифицируются в директиве #include, «обрамляются» с двух сторон символами < и > или " и ". Местоположение определяется с использованием опций командной строки.

Поддерживаются ли «обрамленные» вышеуказанным образом имена для включаемых исходных файлов? (ISO 6.8.2).

Да.

Каково соответствие между символьными последовательностями с разделителями и именами внешних исходных файлов? (ISO 6.8.2)

Они тождественны.

Опишите поведение каждой распознаваемой директивы #pragma. (ISO 6.8.6)

ТАБЛИЦА A-4. ПОВЕДЕНИЕ #PRAGMA

 

Pragma

Поведение

 

 

 

 

#pragma code section-name

Именует секцию кода.

 

#pragma code

Возвращает секции кода ее имя по умолчанию (т.е.

 

.text).

 

 

 

 

 

 

#pragma idata section-name

Именует секцию инициализируемых данных.

 

 

 

 

#pragma idata

Возвращает секции инициализируемых данных ее

 

имя по умолчанию (т.е. .data).

 

 

 

 

 

 

 

 

 

 

 

DS51284H(ru) стр. A-6

© 2008 Microchip Technology Inc.

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

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

ТАБЛИЦА A-4. (ПРОД-Е) ПОВЕДЕНИЕ #PRAGMA

 

Pragma

 

 

Поведение

 

 

 

 

 

#pragma udata section-name

 

Именует секцию неинициализируемых данных.

 

#pragma udata

 

Возвращает секции неинициализируемых данных

 

 

ее имя по умолчанию (т.е. .bss).

 

 

 

 

 

 

 

 

 

#pragma interrupt

 

Определяет имя функции как функцию прерывания.

 

function-name

 

 

 

 

 

 

 

 

Какие будут определения для __DATE__ и __TIME__ соответственно, когда дата и

время трансляции недоступны? (ISO 6.8.8)

.

 

Не применимо. Компилятор не

поддерживается в средах, где эти функции

недоступны.

 

 

A

 

 

 

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

Что такое null константа указателя, в которую расширяется макро NULL? (ISO 7.1.5)

0.

Как распознается диагностика, напечатанная функцией оповещения, и как себя ведет эта функция при завершении? (ISO 7.2)

Функция оповещения печатает имя файла, номер строки и тестовое сообщение,

разделяемые символом двоеточияWilson(':'). Затем она вызывает функцию аварийного

завершения.

by

 

Какие символы проверяются с помощью функций isalnum, isalpha, iscntrl, islower, isprint и isupper? (ISO 7.3.1)

КакиеTranslatedвеличины возвращаются математическими функциями после ошибок области определения? (ISO 7.5.1)

ТАБЛИЦА A-5. СИМВОЛЫ, ПРОВЕРЯЕМЫЕ ФУНКЦИЯМИ is

Функция

Проверяемые символы

 

 

isalnum

Буква либо цифра: isalpha или isdigit

isalpha

Одна из букв: islower или isupper.

 

 

iscntrl

Один из пяти стандартных символов управления перемещением,

забой и сигнал: \f, \n, \r, \t, \v, \b, \a

 

 

 

islower

Одна из букв от ‘a’ до ‘z’

 

 

isprint

Один из печатных символов или пробел: isalnum или ispunct

или space

 

 

 

isupper

Одна из букв от ‘A’ до ‘Z’

 

 

ispunct

Один из символов: ! “ # % & ‘ ( ) ; < = > ? [ \ ] * + , - . / : ^

Не число (NaN).

Устанавливают ли математические функции целое выражение errno в величину макро ERANGE при ошибках потери значимости диапазона? (ISO 7.5.1).

Да.

Получите ли вы ошибку области определения или будет возвращаться нуль, когда функция fmod имеет в качестве второго аргумента нуль? (ISO 7.5.6.4)

Ошибку области определения.

© 2008 Microchip Technology Inc.

DS51284H(ru) стр. A-7

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

A.17. Сигналы

Что такое набор сигналов для сигнальных функций? (ISO 7.7.1.1)

ТАБЛИЦА A-6. СИГНАЛЬНЫЕ ФУНКЦИИ

Название

Описание

 

 

SIGABКT

Аварийное завершение

SIGINT

Прием интерактивного сигнала предупреждения

 

 

SIGILL

Определение неверного отображения функции (function image)

 

 

SIGFPE

Ошибочная арифметическая операция

 

 

SIGSEGV

Неправильный доступ к памяти

 

 

 

A

SIGTERM

Программе послан запрос на.завершение

Опишите параметры и использование каждого сигнала, распознаваемого сигнальной функцией. (ISO 7.7.1.1)Wilson.

Определяется приложением.

Опишите обработку по умолчанию и обработку при запуске программы для каждого сигнала, распознаваемого сигнальной функцией? (ISO 7.7.1.1)

Отсутствует.

Если эквивалент сигнала (sig,SIG DFL), не выполняется до вызова обработчика сигнала, какая блокировка сигнала выполняется? (ISO 7.7.1.1)

Никакой.

 

by

Восстанавливается ли обработка по умолчанию, если сигнал SIGILL был получен

обработчиком, определенным для сигнальной функции? (ISO 7.7.1.1)

Нет.

 

A.18. Потоки и файлы

 

Translated

 

Требует ли последняя строка текстового потока завершающего символа новой строки? (ISO 7.9.2)

Нет.

Будут ли символы пробелов, выданные в выходной текстовый поток непосредственно перед символом новой строки, появляться при чтении этого потока? (ISO 7.9.2)

Да.

Сколько символов null может быть добавлено в данные, записанные в двоичный поток? (ISO 7.9.2)

Нисколько.

На начало или на конец файла первоначально установлен файловый указатель позиции потока в режиме добавления? (ISO 7.9.3)

На начало.

Может ли запись в текстовый поток стать причиной того, что связанный текстовый файл будет оборван за этой точкой? (ISO 7.9.3)

Определяется приложением.

Опишите характеристики буферизации файлов. (ISO 7.9.3)

Полная буферизация.

Может ли действительно существовать файл нулевой длины? (ISO 7.9.3)

Да.

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

Определяется приложением.

DS51284H(ru) стр. A-8

© 2008 Microchip Technology Inc.

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