Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Использование утилиты Make

Читайте также:
  1. A. Использование клинического, психолого-педагогического и логопедического исследования.
  2. Backdoor — троянские утилиты удаленного администрирования
  3. CASE-технологии и их использование
  4. CASE-технологии и их использование
  5. II Разрешение практических ситуаций с использованием возможностей справочных правовых систем
  6. III Задания на использование различных возможностей справочно – правовых систем
  7. III. Алгоритмическая конструкция ветвление и ее использование в языке Visual Basic
  8. IV. Алгоритмическая конструкция цикл и ее использование в языке Visual Basic
  9. А) товары, удовлетворяющие одинаковые потребности, но реализованные с использованием различных технологий;
  10. А. использование механизмов организованного принуждения

Утилита Make используется для автоматизации разработки программ. Для этого в текстовом файле с именем makefile указывается следующая информация:

- целевые файлы (цели), которые необходимо построить;

- правила для их построения;

- зависимости, определяющие когда данную цель необходимо перестроить заново.

Так, для программы из задания 2.2 makefile может иметь следующий вид:

CFLAGS=-c

CC=gcc

obr: main.o obr.o

<Tab> $(CC) -o obr main.o obr.o

main.o: main.c

<Tab> $(CC) $(CFLAGS) main.c

obr.o: obr.c

<Tab> $(CC) $(CFLAGS) obr.c

 

Здесь слева от ':' указана цель, справа - ее зависимости. Правило для построения цели указано на следующей строке, которая должна начинаться с символа табуляции. CC и CFLAGS - переменные утилиты Make (в данном примере CC задает имя компилятора, CFLAGS - опцию компилятора ). Значение для переменной может быть задано в файле makefile (как в примере) и/или в командной строке (например, $make CC=g++).

После подготовки файла makefile для создания исполняемой программы достаточно ввести команду

$make или

$make имя_make_файла (если имя_make_файла отлично от makefile)

По этой команде утилита Make выполнит файл makefile из текущего каталога и автоматически перетранслирует только те файлы, которые необходимо.

 

Задание 3.

3.1. Создайте файл makefile для программы из задания 2.2, предварительно удалив файлы *.o и obr из текущего каталога. Затем выполните команду

$make

Запишите в отчет текст файла makefile с пояснениями и команды, выполненные утилитой Make.

3.2. Незначительно модифицируйте файл obr.c, выполните команду $make и запишите команды, выполненные утилитой Make.

3.3.Выполните команду $make, задав в командной строке через переменную CC другое имя компилятора - g++.

Доступ к параметрам командной строки

При запуске программы в командной строке после имени программы могут указываться параметры, называемые параметрами(аргументами)командной строки. Они разделяются пробелами или, если параметры сами содержат пробелы, заключаются в апострофы. Для доступа к этим параметрам в программе на языке С заголовок функции main должен содержать два параметра (рис. 2): количество параметров (argc) и массив указателей на строки (argv), оканчивающийся указателем NULL. i-ая строка является значением i-го параметра, при этом строка с номером 0 содержит имя программы.

 

Задание 4. Выполните следующие три примера, протестируйте их с параметрами, запишите в отчет текст примеров и результаты их тестирования.

4.1.

/* Ex4_1.c Печать параметров командной строки*/

#include <stdio.h>

main ( int argc, char *argv[] )

{ if ( argc < 2 )

{ printf( “Usage : %s parameter\n”, argv[0] ) ;

exit ( 1 ) ;

}

printf("Starting program %s \n", argv[0] ) ;

printf("with %d parameter(s)\n", argc-1 ) ;

printf("First parameter is %s\n", argv[1] ) ;

exit ( 0 ) ;

}

4.2.Измените предыдущий пример в Ex4_2.c, в котором задается пераметр целого типа. Для преобразования строки в целое число используйте функцию atoi.

ПРИМЕЧАНИЕ. Получить информацию о стандартных функциях С можно по команде $info libc.

4.3.

/* Ex4_3.c Печать произвольного числа параметров */

#include <stdio.h>

main(int argc, char *argv[])

{ for ( ; *argv ; ++argv )

printf("%s\n", *argv ) ;

}

 

 
 

Соглашение Linux о параметрах командной строки.Стандартные программы обычно придерживаются следующих соглашений. Все параметры командной строки делятся на опции, или флаги, ипрочие параметры. Опции модифицируют работу программы, в то время как прочие параметры служат для передачи входных данных. В свою очередь, опции могут быть двух видов:

- Короткие опции состоят из одного знака 'минус' и одного символа. Короткие опции легче набирать.

- Длинные опции состоят из двух подряд идущих знаков 'минус' и ряда символов. Длинные опции легче запоминать.

Обычно программы поддерживают обе формы опций, например, -h и --help.

 


Дата добавления: 2014-12-18; просмотров: 7 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2018 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав