Для программирования в Linux, достаточно небольших знаний языка C. Даже если у вас этих знаний нету, я думаю что ничего страшного, вы в нем освоитесь по ходу изучения программирования в Linux. Все что нужно иметь для программирования, это всего лишь какой либо дистрибутив Linux с установленный компилятором gcc, который по умолчанию стоит во многих дистрибутивах и любой текстовый редактор, который вам нравится! Для ввода команд в виртуальной консоли, я буду перед командой писать симов ‘$’, который означает, что система приглашает вас для ввода команды.
Напишем небольшую программу, которая уже стала традицией. Программа, которая выводит сообщение Hello World!. Создайте в любой директории файл, который я бы назвал hello.c. Самое главное, чтобы файл был с расширением .c, это и будет указывать на то, что мы пишем программу на языке программирования С.
Листинг программы hello.c:
/* *подключаем библиотеку стандартного ввода/вывода информации */ #include <stdio.h> /* * Главная функция, с которой начинается выполнение программы */ int main() { /* Выводим сообщение Hello world */ printf("Hello World!\n") ; /* Показывает успешное выполнение программы */ return 0; }
Не забудьте сохранить файл! Далее мы откомпилируем и посмотрим, что нам будет выводить система. Откройте виртуальную консоль, я надеюсь вы знаете как это сделать. Перейдите в директорию с вашим исходным файлом используя команду cd. К примеру я буду вводить:
$ cd Документы/
После того, как вы перешли в директорию с исходным кодом, пора откомпилировать нашу программу. Для этого мы введем команду:
$ gcc -o hello hello.c
Теперь давайте разберемся, что означает каждое слово. Первым делом мы указали программу для компилирования gcc. На самом деле gcc — это набор компиляторов для различных языков программирования. Стандартом он будет компилировать программы для С. Для того, как компилировать программы на других языках программирования, мы узнаем позже. Далее мы указывали ключ -o и за ним слово hello. -o указывает компилятору то, какое имя будет присвоено бинарному файлу. Если не указывать данный ключ с именем бинарного файла, то gcc создаст бинарный фал с именем a.out. Последним мы указывали файл, который желаем откомпилировать.
Далее, после того, как мы откомпилировали нашу программу, стоит убедиться, что компиляция прошла успешно. Если в исходном коде присутствуют ошибки, то компилятор вам выведет сообщение с номером строки, где находится ошибка. Если же компиляция прошла успешно, компилятор ничего не будет выводить, а система дальше пригласит вас для ввода команд. Чтобы убедиться, что бинарный файл создан, введите следующее:
$ ls -l итого 2,2M ... -rwxr-xr-x 1 alexey alexey 7,7K 2011-03-18 15:02 hello -rw-r--r-- 1 alexey alexey 71 2011-03-19 18:17 hello.c ... $
Давайте запустим нашу программу. Для этого нам нужно указать имя файла с местом ее расположения:
$ ./hello Hello World! $
Парой символов ./ мы сказали системе, что программа находится в данной директории и тогда система найдет ее и выполнит. Если бы не указывали эту группу символов, то система начала бы искать программу в библиотеке программ, которые установлены в вашем дистрибутиве Linux.
Теперь давайте сделаем так, чтобы у нас в программе была ошибка компиляции. Для этого давайте уберем точку с запятой в строчке вывода информации и посмотрим, что нам скажет gcc:
$ gcc -o hello hello.c hello.c: In function ‘main’: hello.c:15: error: expected ‘;’ before ‘return’ $
В первой строке, компилятор нам указал, что в файле hello.c в функции main что-то произошло. В следующей строке мы сразу же видим, что у нас в 15 строке отсутствует символ точки с запятой. Существуют еще ошибки, которые компилятор может только предусмотреть, так как синтаксис может быть соблюден всеми правилами языка программирования, тогда в место слово error будет написано слово warning, но бинарник все таки будет создан.