Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по курсу ОСс и ОСТ20081.doc
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
1.57 Mб
Скачать

43. Основные этапы разработки приложений. Построение исполняемого модуля.

Основное назначение компилятора Си в ОС UNIX заключается в компиляции всей программы в целом и получение исполняемого модуля.

GCC

make

Одно из полезных свойств компилятора Си – его способность по суффиксам определять типы файлов (.c – файл должен компилироваться, .o – файл является объектным модулем и для получения исполняемой программы необходимо выполнить редактирование связей).

$gcc –o abcd abcd.c

исполняемая программа исходный код

Использование команды make.

Make – служит для документирования связей между файлами.

Описание зависимостей и соответствующих действий хранится в make-файле (по умолчанию он имеет имя makefile)

#

# Makefile for abcd.c

#

# Compile abcd.c normally

abcd: abcd.c

gcc –o abcd abcd.c

# Compile abcd.c be using in debugging

testabcd: abcd.c

gcc –o abcd abcd.c

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

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

Таким образом, спецификация взаимосвязей имеет формат:

target1 [ target2...]: [:] [dependment1...] [;commands]

[#commentary][(tab)commands][#commentary],

где # - специфицирует начало комментария, так как содержимое строки, начиная с # и до конца строки, не будет обрабатываться командой make;

: - последовательность команд ОС UNIX должна содержаться в одной строке make-файла (файла описаний), есть возможность переноса команд (\), но она считается как одна строка;

:: - последовательность команд ОС UNIX может содержаться в нескольких последовательных строках файла описаний.

Приведенный выше make-файл для программы abcd.c включает два способа компиляции и построения исполняемого модуля.

Первый способ предусматривает обычную компиляцию с построением исполняемого модуля с именем abcd. Второй способ позволяет включать в исполняемый модуль testabcd возможность выполнить процесс отладки на уровне исходного текста.

44. Основные этапы разработки приложений. Тестирование и отладка.

Для отладки могут быть использованы различные программы отладки. GDB, DBXtra

Тестирование и отладка следуют за устранением всех синтаксических ошибок, выявленных при компиляции. Для отладки могут быть использованы различные программы отладки на уровне исходного кода. В качестве примера такой программы рассмотрена программа gdb. Для ее использования необходимо выполнить команду (для нашего примера) $ make testabcd, которая создаст исполняемый код (файл testabcd) для отладки.

После этого запустить отладчик gdb командой:

$ gdb testabcd

На экране появится информация об отладчике и в последней строке приглашение программы gdb.