Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по программированию.pdf
Скачиваний:
44
Добавлен:
28.03.2015
Размер:
207.84 Кб
Скачать

Заключение

В данном методическом пособии изложен базовый уровень владения инструментарием GNU для создания исполняемых файлов. На основании этих знаний студент должен самостоятельно расширять свой уровень владения инструментарием доводя его до профессионального уровня.

Дополнительным источником информации по данной теме является литература, а также команды man и info. Например, чтобы посмотреть полный список ключей поддерживаемых используемой версии GCC и их описание необходимо набрать в строке:

man gcc

Для выхода из справочной системы используйте клавишу q. Пример получение информации по функции fopen:

man fopen

Обращение к справочной системе info по функции fopen производится командой:

info fopen

Обращаться к справочным системам можно и по содержимому стандартных файлов:

man stdio.h

info stdio.h

Отличием между info и man в том, что info это описание программы, а man руководство к использованию. Логично предположить что сначала нужно обращаться к описанию программы, а затем к руководству для пользователя:

info gdb

man gdb

31

Список литературы

1.Дмитрий Пантелеичев. Разработка программного обеспечения для Linux. Инструментарий. / http://www.linuxcenter.ru 06/09/2006

2.Митчелл, Марк, Оулдем, Джеффри, Самьюэл, Алекс. Программирование для Linux. Профессиональный подход.: Пер. с англ. - М.: Издательский диск "Вильямс", 2003. - 288 с.

3.Стахнов А.А. Linux. - 2-е изд., перераб. и доп. - Спб.: БХВПетербург, 2007. - 994 с.

4.Эбен Майкл. FreeBSD. Mega Edition + 10 Gb / Майкл Эбен, Брайан Таймэн; Пер. с англ. - Спб.: ООО "ДиаСофтЮП", 2005. - 864 с.

32

Приложение 1. Список ключей компиляторов GCC и G++

-c — используется для получения объектного файла, например:

gcc -c main.c

-I — сообщает нахождение заголовков, например:

gcc -I ../include foo.h

-D NDEBUG — отключение отладочной информации, примеры:

gcc -D NDEBUG foo.cpp

gcc -D NDEBUG=3 foo.cpp

-02 — включение оптимизации кода второго уровня, например:

gcc -02 main.cpp

-o — используется для задания имени исполняемого файла, например:

gcc helloworld.c -o HW.exe

-E — используется для обработки файла препроцессором, например:

gcc -E helloworld.c -o helloworld.cpp

-x — используется для создания объектных файлов из файлов обработанных препроцессором, например:

gcc -x cpp-output -c helloworld.cpp

33

Приложение 2. Список команд для отладчика gdb

backtrace – выводит весь путь к текущей точке останова, то есть названия всех функций, начиная от main(); иными словами, выводит весь стек функций;

break – устанавливает точку останова; параметром может быть номер строки или название функции;

clear – удаляет все точки останова на текущем уровне стека (то есть в текущей функции);

continue – продолжает выполнение программы от текущей точки до конца;

delete – удаляет точку останова или контрольное выражение; display – добавляет выражение в список выражений, значения кото-

рых отображаются каждый раз при остановке программы;

finish – выполняет программу до выхода из текущей функции; отображает возвращаемое значение,если такое имеется;

info breakpoints – выводит список всех имеющихся точек останова; info watchpoints – выводит список всех имеющихся контрольных

выражений;

list – выводит исходный код; в качестве параметра передаются название файла исходного кода, затем, через двоеточие, номер начальной и конечной строки;

next – пошаговое выполнение программы, но, в отличие от команды step, не выполняет пошагово вызываемые функции;

print – выводит значение какого-либо выражения (выражение передаётся в качестве параметра);

run – запускает программу на выполнение;

set – устанавливает новое значение переменной step – пошаговое выполнение программы;

watch – устанавливает контрольное выражение, программа остановится, как только значение контрольного выражения изменится;

34