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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ГОСУНИВЕРСИТЕТ – УНПК ЕСТЕСТВЕННОНАУЧНЫЙ ФАКУЛЬТЕТ

Кафедра "Прикладная математика и информатика"

В.Г. Абашин, В.Ю. Преснецова

Кроссплатформенные инструменты для создания прикладных программ

Методическое пособие

Дисциплина – "Информатика" Специальности – технические направления

Печатается по разрешению редакционноиздательского совета Госуниверситет – УНПК

Орел 2011

3

Авторы: к.т.н., доцент кафедры "ПМиИ" В.Г. Абашин аспирант кафедры "ПМиИ" В.Ю. Преснецова Рецензент: к.т.н., доцент кафедры ПМиИ Е.Г.Демина

Лабораторный практикум содержит теоретический материал по изучению компиляторов GCC и G++, а также требования по оформлению и выполнению лабораторных работ. Лабораторный практикум предназначен для студентов специальностей и направлений подготовки и технического профиля.

Для освоения излагаемого материала требуется умение работать с файловой системой Windows или Linux, уметь работать с текстовыми редакторами, устанавливать программы, работать с командной строкой и владеть основами языка С или С++.

Технический редактор Денисова Т.Г.

Орловский государственный технический университет Лицензия ИД №00670 от 05.01.2000 г.

Подписано к печати . Форамт 60×84 1/16. Печать офсетная. Уч.-изд. л. 1,0. Усл. печ. л. 1,0. Тираж ____ экз.

Заказ № ____

Отпечатано с готового оригинал-макета на полиграфической базе Госуниверситет - УНПК,

г.Орел, ул. Наугорское шоссе, 29.

©Госуниверситет – УНПК

©Абашин В.Г.

©Преснецова В.Ю.

4

Содержание

 

Введение..............................................................................................................................................

4

1. Компилятор GCC............................................................................................................................

5

2. Компилятор G++.............................................................................................................................

8

3. Автоматизация компиляции и сборки программ с помощью утилиты make.........................

10

4. Отладчик gdb.................................................................................................................................

13

5. Средства обеспечения переносимости и распространения Makefile.......................................

17

7. Задания для самостоятельного выполнения..............................................................................

25

Заключение........................................................................................................................................

29

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

30

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

31

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

32

5

Введение

Компилятор GCC распространяется на условиях лицензии GNU. Проект GNU был основан в 1984 году Ричардом Столлманом. С помощью этого проекта программисты смогли узаконить сотрудничество между собой для разработки некоммерческого программного обеспечения (ПО). Лицензия этого проекта не позволяет присваивать кому-то эксклюзивные права на ПО. С первых дней в основной пакет ПО входит набор инструментов для всех этапов программирования. К этим инструментам относятся компиляторы GCC, G++, отладчик gdb, утилиты make, configure. Несмотря на то, что общепринятым является использование инструментов GNU в среде Linux, их использование будет рассматриваться и в среде Windows. Для работы с инструментарием в Windows необходимо произвести установку пакета MinGW и добавить к переменной среды окружения Path значение c:\MinGW\bin.

6

1. Компилятор GCC

Изначально аббревиатура GCC означала GNU C Compiler, но с добавлением компиляторов для языков C++, Java, Ada и др. её значение изменилось на GNU Compiler Collection. Назначение компилятора языка С из набора GCC, преобразование файлов с исходным кодом программы на языке С в исполняемые файлы. Все операции с компилятором производятся из командной строки. На сегодняшний момент существуют около десятка сред, представляющих графический интерфейс для работы с GCC и другими описываемыми инструментами, но в обучающих целях будет рассмотрена работа именно из командной строки.

Для создания исполняемого файла необходим текстовый редактор. Если используется операционная система (ОС) Linux, используйте редактор vi или emacs. Для графического режима используйте Gedit, KWrite, Kate. В ОС Windows используйте текстовый редактор "Edit" или редактор с оконным интерфейсом "Блокнот".

Вначале создайте папку в доступном месте с именем HW. В описываемом примере использовалась папка C:\HW. Для создания папки можно использовать команду mkdir (mkdir c:\HW). Для перехода в каталог используете команду cd (cd c:\HW). Создадим текстовый файл в папке HW, и назовем его helloworld.c. Запишем в файл следующий код:

#include <stdio.h>

int main(void) {

printf("Hello world!\n");

return(0);

}

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

7

gcc helloworld.c

Если компилятор установлен правильно, то после введенной команды появится приглашение командной строки. В папке HW должен появится исполняемый файл. В Linux он будет называться a.out или a. В Windows он будет называться a.exe. Для проверки изменений содержимого каталога используйте команды ls или dir в Linux или dir в Windows.

Для выполнения созданной программы наберите в командной строке её имя. Для Linux выполните команду: ./a.out или ./a, для Windows a.exe. В результате выполнения команды на экран будет выведена фраза:

Hello world!

Чтобы задать название получаемого исполняемого файла (HW.exe), для компиляции используйте команду для Windows:

gcc helloworld.c -o HW.exe

Для Linux используйте команду:

gcc helloworld.c -o HW

Программа GCC выполняет три этапа: обработку препроцессором, компиляцию, компоновку (линковку).

В приведенном примере препроцессор заменяет строчку #include <stdio.h> на содержимое файла stdio.h. Чтобы посмотреть результат работы препроцессора и сохранить этот результат в файле наберите команду:

gcc -E helloworld.c -o helloworld.cpp

Следующий этап — компиляция, которая преобразовывает исходный текстовый файл в объектный:

gcc -c helloworld.c

В результате получается объектный файл helloworld.o. Для создания объектного файла из исходного кода обработанного препроцессором (helloworld.cpp) используется опция -x указывающая язык

8

программирования и тип файла. Обработанный препроцессором файл С++ имеет тип cpp-output:

gcc -x cpp-output -c helloworld.cpp

Компоновка объединяет созданный компиляцией объектный файл с объектным файлом, который описывает stdio.h. В результате получается исполняемый файл. Например:

gcc helloworld.o -o helloworld

Знание всех этапов превращения текстового файла в программу необходимо для работы с большими проектами и исправления ошибок в самом инструментарии создания программ. Кроме того следует учесть что программирование с высокой степенью сложности проектов выполняется на разных языках программирования, которые используются в одном проекте. В этом случае для каждого файла необходимо использовать свой компилятор, а затем соединять объектные файлы в одну программу.

9