Первая программа

Теги: linux c, си линукс, makefile, простая программа на си в линуксе.



Первая программа на си под linux

Академическое программирование на си на unix-like операционных системах достаточно тривиально. В курсе вы не будете делать сложных программ, которые будут зависеть от особенностей операционной системы и среды программирования, они не будут требовать наличия файлов сборки. Программа на си пишется в любом удобном для вас текстовом редакторе. Пример простой программы:

#include <stdio.h>
 
int main(int argc, char* argv[]) {
    printf("Hello, World!");
    return 0;
}

Сохраните файл в удобном месте. Пусть он называется hello.c. Для компиляции в терминале вызовите команду cc или gcc и передайте в качестве аргумента имя вашего .c файла и имя выходного файла. Например, если вы находитесь в той же папке, что и ваш файл

сc hello.c –o hello

В результате вы получите исполняемый файл hello, который можно вызвать по имени.

./hello

Часто вновь созданный файл не имеет прав на исполнение, и вы получаете ошибку вроде

access denied

Для исправления ошибки необходимо назначить себе права на исполнение файла

chmod 760 hello

либо

chmod u+x hello

После чего файл можно будет исполнять.

В том случае, если у вас имеется несколько файлов, нужно передать компилятору имена всех си файлов, которые включены в проект. Например, пусть у вас есть три файла
simple.h

#ifndef _SIMPLE_H_
#define _SIMPLE_H_
 
#include <stdio.h>
#include <conio.h>
 
void doSomething();
 
#endif

simple.c

#include "simple.h"
 
void doSomething() {
    printf("It works!");
    _getch();
}

и main.c

#include "simple.h"
 
int main(int argc, char* argv[]) {
    doSomething();
    return 0;
}

Вызов будет иметь вид

cc main.c simple.c -o hello

Сборку можно осуществлять с помощью make файла. Полное изучение возможностей make файлов не входит в нашу компетенцию.

Создайте файл с именем makefile и содержимым

hello:	hello.c simple.c
	gcc hello.c simple.c –o hello
clean:
	rm -rf hello

Здесь отступ – это единичная табуляция! Для компиляции и сборки вызовите команду make. make подхватит makefile и выполнит команду

gcc hello.c simple.c -o hello

Для удаления скомпилированного файла вызовите make clean.

Q&A

Всё ещё не понятно? – пиши вопросы на ящик email
Пишем первую программу (Windows)