Программирование в Linux. Первый шаг.

Дата: 19th Март 2011. Автор: Torvald. Рубрика: Linux
Метки: ,

Для программирования в 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, но бинарник все таки будет создан.

 

  1. Иван Шевченко:

    Большое спасибо автору . Очень помогло.
    Давным давно программировали в университете под UNIX
    было приятно вспомнить как это было.