BASH Programming - Введение



         

C для вас


В UNIX системным языком является C, любите его или ненавидьте. Также доступны другие языки программирования (Java, FORTRAN, Pascal, Lisp, Basic, Perl, awk...).

Считая, что вы знаете C, существует некоторое количество руководств для тех, кто испорчен использованием Turbo C++ или его собратьев по DOS. Компилятор С в Linux называется gcc и не содержит моргалки и дуделки, которые обычно сопутствуют его аналогам в DOS: нет IDE (Интегрированная среда разработки), оперативной подсказки, встроенного отладчика и т.п. Это просто командно-строковый компилятор, очень мощный и эффективный. Для компиляции стандартного hello.c вам необходимо выполнить команду:

$ gcc hello.c

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

$ gcc -o hola hello.c

Для подключения к программе библиотеки функций добавьте к командной строке ключ -l<libname>. Например, для подключения библиотеки математических функций:

$ gcc -o mathprog mathprog.c -lm

(Ключ -l<libname> заставляет gcc подключить библиотеку /usr/lib/lib<libname>.so; так что -lm

подключает библиотеку /usr/lib/libm.so).

Чем дальше, тем лучше, но когда ваша программа состоит из нескольких файлов исходных текстов, то вам понадобиться пользоваться утилитой make. Предположим, что вы написали разбор выражений: его файл исходных текстов называется: parser.c и подключает два заголовочных файла, parser.h и xy.h. Затем вы хотите использовать подпрограммы из parser.c в программе, допустим calc.c, которая подключает файл parser.h. Что за неразбериха! Что вам надо сделать для компиляции calc.c?

Вам необходимо написать так называемый Makefile, который сообщает компилятору зависимости между файлами исходных текстов и объектными файлами. В нашем примере:

# Это Makefile, используемый для компиляции calc.c # Нажмите клавишу <TAB> где показано!

calc: calc.o parser.o <TAB>gcc -o calc calc.o parser.o -lm # calc зависит от 2-х объектных файлов: calc.o и parser.o




Содержание  Назад  Вперед