Реферат Курсовая Конспект
Разработка программ на языке C/C++ в ОС Linux - раздел Программирование, Лабораторная Работа По Курсу "операционные Системы"...
|
Лабораторная работа по курсу "Операционные системы"
Разработка программ на языке C/C++ в ОС Linux
Цель работы: освоить процесс разработки программ на языке С/С++ в ОС Linux; научиться работать с параметрами командной строки и переменными окружения в программах на С/С++, выполнять системные вызовы и обрабатывать ошибочные ситуации.
1. Этапы создания программы на языке С/С++
На рис. 1 представлена последовательность разработки программы на языке С. В ОС Linux один из популярных наборов компиляторов - GNU Compiler Collection, или GCC. Он включает компиляторы с языков C, C++, Java, Fortran и др. Имя компилятора языка С - gcc, языка С++ - g++. Для языка С также можно использовать компилятор cc, имеющийся во многих ОС семейства UNIX. Для языка С расширения исходных файлов - .c и .h, для языка С++ - .cpp, .hpp, .cxx, .hxx, .C и .H. Расширение объектных файлов - .o, библиотек объектных файлов - a. Исполняемые файлы в Linux обычно не имеют расширения.
Задание 1. Введите команду $man gcc (или $info gcc) и запишите назначение основных опций компилятора gcc: -c, -S, -E, -o.
4.1.
/* Ex4_1.c Печать параметров командной строки*/
#include <stdio.h>
main ( int argc, char *argv[] )
{ if ( argc < 2 )
{ printf( “Usage : %s parametern”, argv[0] ) ;
exit ( 1 ) ;
}
printf("Starting program %s n", argv[0] ) ;
printf("with %d parameter(s)n", argc-1 ) ;
printf("First parameter is %sn", 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("%sn", *argv ) ;
}
Соглашение Linux о параметрах командной строки.Стандартные программы обычно придерживаются следующих соглашений. Все параметры командной строки делятся на опции, или флаги, ипрочие параметры. Опции модифицируют работу программы, в то время как прочие параметры служат для передачи входных данных. В свою очередь, опции могут быть двух видов:
- Короткие опции состоят из одного знака 'минус' и одного символа. Короткие опции легче набирать.
- Длинные опции состоят из двух подряд идущих знаков 'минус' и ряда символов. Длинные опции легче запоминать.
Обычно программы поддерживают обе формы опций, например, -h и --help.
5.1.
/* Ex5_1.c Печать переменных окружения */
#include <stdio.h>
extern char** environ;
int main ()
{
char** var;
for (var = environ; *var != NULL; ++var)
printf ("%sn", *var);
return 0;
}
5.2.Данный пример является частью коммуникационной программы. Имя сервера задается в переменной окружения SERVER_NAME. Если эта переменная не установлена, то будет использован сервер по умолчанию. Выполните эту программу для обоих вариантов запуска:
a) Переменная SERVER_NAME отсутствут в окружении;
b) Перед запуском программы экспортируйте в окружение переменную SERVER_NAME (см. лабораторную работу 1).
/* Ex5_2.c Доступ к переменной окружения */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char* server_name = getenv ("SERVER_NAME");
if (server_name == NULL)
/* Переменная окружения SERVER_NAME не установлена,
использовать значение по умолчанию */
server_name = "server.my-company.com";
printf ("accessing server %sn", server_name);
/* Далее - доступ к серверу... */
return 0;
}
Порядок выполнения лабораторной работы
1. Выполните задания 1-6.
2. Занесите в отчет описание заданий со всеми требуемыми пояснениями.
Требования
1. При подготовке к лабораторной работе (дома) выполните задания 2-6. Занесите в отчет тексты программ, пояснения и предполагаемые результаты выполнения.
2. Студент должен знать ответы на следующие вопросы:
– Конец работы –
Используемые теги: Разработка, программ, языке, C/C, ОС, Linux0.103
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Разработка программ на языке C/C++ в ОС Linux
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов