.C, .cc, .cpp - C++ файл
.ii - файл C++, обработанный препроцессором
.o - объектный файл
.a - файл библиотеки
Примеры работы компилятора:
Листинг программы prog.c:
#include <stdio.h>
int main()
{
printf("Hello, World! ");
}
Компиляция программы:
$ qcc prog.c -o prog
Результат работы программы:
$ ./prog
Hello, World!
gcc
gcc - компилятор
Синтаксис:
gcc [опции|имя_файла]
gcc [опции|имя_файла]
Некоторые опции:
c - только компиляция
-o - задание файла вывода
Описание:
gcc - набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. Используется как стандартный компилятор в Unix-подобных операционных системах и некоторых проприетарных ОС. В QNX вместо gcc рекомендуется использовать компилятор qcc/QCC.
cc¸CC
cc - компилятор для С, СС - компилятор С++. В QNX cc и СС являются ссылками на gcc.
Напишем простейшую программу на языке С, выводящую строчку "Hello world". Сохраним её в файле prog.с. Для вызова компилятора воспользуемся командой сс (сс prog.c). В результате создастся исполняемый файл a.out. При запуске этого файла появляется окно с надписью Hello world. Если команде сс указать флаг -о <имя_файла>, то исполняемый файл будет иметь имя не a.out, a <имя_файла>. Создадим другую программу в файле prog2.c. Текст программы приведён ниже.
#include <stdio.h>
main ( argc, argv )
int argc;
char *argv [];
{
if (argc > 1) {
if (fopen(argv[1],"r") == NULL) {p
printf("%s:neydacha pri popitke otkrit file %s",argv[0],argv[1]);}
else
printf("%s:file %sotkrit",argv[0],argv[1]);
}
else
printf("otkrivaemii file ne ykazan");
}
Откомпилируем программу и создадим исполняемый файл prog2. Это делается с
помощью команды cc -o prog2 prog2.c. Если в качестве аргумента этой программе передать имя существующего файла, выведется сообщение о том что файл открыт. Если указать несуществующий файл, появится сообщение о том, что файл открыть не удалось. Если не указывать файл в списке аргументов, то появится сообщение о том. что файл не указан.
7.
Переделаем нашу первую программу так, чтобы она выводила имя файла (существующего или нет) Организуем конвейер. То есть у нас выход первой программы будет подаваться на вход второй. ./file_name|./my_open - в этом случае мы видим результат выполнения второй программы, причём выдаётся сообщение, что не указан открываемый файл. Для того, чтобы передать в качестве аргумента второй программе результат выполнения первой, нужно записать следующее:
./my_open `./file_name`. В результате отобразится результат выполнения программы file_name.
# ./prog2 `./a.out`
./prog2:file prog.c otkrit
8.
а)
Команда grep сопоставляет строки исходных файлов с шаблоном, заданным ограниченным регулярным выражением. При помощи этой команды, сделаем так, чтобы команда ls -l вывела на экран только те файлы текущей директории, которые соответствуют каталогам. Для этого будем использовать конвейер. Команда будет выглядеть так: ls -l | grep d. То есть на вход команды grep d (d - шаблон, соответствующий файлу-каталогу) подаётся результат выполнения команды ls -l (список всех файлов в директории).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.