Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ОАиП.docx
Скачиваний:
127
Добавлен:
09.03.2016
Размер:
139.71 Кб
Скачать

15. Процессор и имена заголовочных файлов

Заголовочный файл или подключаемый файл — в языках программирования файл, содержимое которого автоматически добавляется препроцессором в исходный текст в том месте, где располагается некоторая директива

В языках программирования Си и C++, заголовочные файлы — основной способ подключить к программе типы данных, структуры, прототипы функций, перечислимые типы, и макросы, используемые в другом модуле. Имеет по умолчанию расширение .h; иногда для заголовочных файлов языка C++ используют расширение .hpp.

Препроцессор— это компьютерная программа, принимающая данные на входе и выдающая данные, предназначенные для входа другой программы (например, компилятора). О данных на выходе препроцессораговорят, что они находятся в препроцессированной форме, пригодной для обработки последующими программами (компилятор).

Препроцессор С/С++ — программа, подготавливающая код программы на языке C/C++ к компиляции.

Препроцессором выполняются следующие действия:

  • замена соответствующих диграфов и триграфов на эквивалентные символы «#» и «\»;

  • удаление экранированных символов перевода строки;

  • замена строчных и блочных комментариев пустыми строками (с удалением окружающих пробелов и символов табуляции);

  • вставка (включение) содержимого произвольного файла (#include);

  • макроподстановки (#define);

  • условная компиляция (#if, #ifdef, #elif, #else, #endif);

  • вывод сообщений (#warning, #error).

Условная компиляция позволяет выбрать код для компиляции в зависимости от:

  • модели процессора (платформы);

  • разрядности адресов;

  • размерности типов;

  • наличия/отсутствия поддержки расширений языка;

  • наличия/отсутствия библиотек и/или функций;

  • особенностей поведения конкретных функций;

  • и другого.

16.Средства отладки программ ms vs

Термином прокрутка обозначают выполнение программы вручную так, как если бы она выполнялась на компьютере.

Пошаговое выполнение приложения может выполняться двумя способами:

– без трассировки вызываемых методов (Отладка / Шаг с обходом или клавиша F10 или иконка на панели инструментов Отладка;

– с трассировкой вызываемых методов (Отладка / Шаг с заходом или клавиша F11 или иконка на панели инструментов Отладка).

При обоих способах производится останов перед выполнением текущей строки исходного кода (продолжается отладка повторным нажатием клавиш F10 или F11). Различия проявляются только тогда, когда в программе встречается вызов функции. Если выбрать команду Шаг с заходом, то отладчик войдет в функцию и начнет выполнять шаг за шагом все ее операторы.

При выборе команды Шаг с обходом отладчик выполнит функцию как единое целое и перейдет к строке, следующей за вызовом функции. Эту команду удобно применять в тех случаях, когда в программе делается обращение к стандартной функции или созданной подпрограмме, которая уже была протестирована.

Если поместить курсор мыши на имя переменной и удерживать его некоторое время, то появится всплывающее окно, в котором будет указано текущее значение переменной. После отладки, необходимо вывести приложение из отладочного режима командой Отладка / Остановить отладку или Shift+F5 или одноименной кнопкой на панели инструментов Отладка.

При планируемой отладке используются точки останова. Точка останова назначается щелчком левой кнопки мыши в сером поле слева от строки программы (точка останова отмечается маркером в виде красного круга). Повторный щелчок на маркере точки останова приводит к ее отмене. Точку останова можно назначить также с помощью Отладка / Точка останова или клавишей F9. Она устанавливается на той строке, где помещен курсор.

Затем приложение запускается в режиме отладки (F5)или командой меню Отладка / Продолжить. Приложение будет выполнено до точки останова. Продолжение  клавиша F5.

В окне Видимые можно поместить курсор в столбец Имя, в контекстном меню выполнить команду Добавить контрольное значение и ввести имя нужной переменной (или выделить нужную переменную и перетащить ее мышкой в поле Имя). В поле Значение отображается значение переменной (объекта).

Если рядом с именем переменной стоит знак плюс, то для этой переменной может быть отображена дополнительная информация (массивы, указатели или объекты класса). Если нажать F10 два раза и щелкнуть на «+» возле имени переменной, то отладчик отобразит значение, хранимое в памяти по адресу, содержащемуся в указателе.