Трепещите, какеры, script-kiddies и прочие моральные уроды! Сегодня мы займемся кодингом на C под Linux. Зачем трепетать, спросите вы? Не знаю, но потрепещите хотя бы немножко. Во всяком случае, как мининмум, это не вредно.

Итак, поехали. Для кодинга под Linux нам во-первых, понадобится Linux. Как ни странно. Как, у тебя до сих пор нет локально установленного RedHat? Сочувствую. Тогда подойдет даже удаленный вариант (не тот, который удалили, а тот, что стоит на другой тачке, доступной по интернету или локальной сети). Чтобы заиметь логин, примени свой любимый хак и поимей пароль рута. Но девелопить программы от рута я не советую - плохой тон, так что ограничься логином дяди Васи. Вот он удивится, обнаружив у себя в хоуме кучу бесполезных исходников типа "Hello, world!" :)

Но это еще не все, что требуется. Надо убедиться, чтобы на линуксовой тачке был установлен Це компилер. Для этого просто набери gcc. Ежели увидишь надпись "gcc: no input files", то все ок. Ежели "command not found", то компилер еще нужно установить, а если ничего не увидишь, придется включить монитор.

В Линухе комплект разработчика является набором разнообразных тулзов, а не поставляется одним куском (куском чего - вот вопрос), как Visual Studio или Delphi под винды. Для того, чтобы просто пощупать как это все делается, тебе понадобятся только эдитор и компилер.

Несмотря на то, что все крутые перцы юзают vi, я советую тебе mcedit, бо для того, чтобы с vi разобраться, репу придется попарить изрядно. Обычно mcedit доступен, если проинсталлирован mc (mignight commander, подобие нортона). Чтобы его запустить достаточно набрать mcedit. Если его на тачке не оказалось - не расстраивайся, там наверняка должен быть еще какой-нибудь, скажем, joe или pico.

Теперь накодим "Hello, world!". Ну, такую отстойную надпись выводить, согласись, нам не по приколу. Пускай пишет "ЖОПА!". Набираем:

[vasya@tachka vasya]$ mcedit zhopa.cc
И наклацываем такую программулину.

#include 

void main() {
    printf("ЖОПА!\n");
}

Сохраняем файло, выходим обратно в командную строчку.

[vasya@tachka vasya]# gcc zhopa.cc -o zhopa
Параметр -o значит, что получившийся бинарник (экзешник - для ламов) будет называться zhopa, а не a.out, по умолчанию.

Теперь получившийся шедевр можно даже запустить. Что? Ты уже набрал

[vasya@tachka vasya]$ zhopa
bash: zhopa: command not found
[vasya@tachka vasya]$
Понятно, что ничерта не получилось. Программы из текущего каталога нужно запускать так:
[vasya@tachka vasya]$ ./zhopa

Работает? Ну вот видишь, какой ты теперь немеряный кодер. А чтобы усложнить себе задачу и подтянуть знание Це, если ты в нем еще не сильно шаришь, раздобудь какую-нибудь книжку и приступай.

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