W linuxach polecenia cc oraz gcc uruchamiają ten sam program: darmowy kompilator. Na diablo istnieje profesjonalny, zakupiony za cieżkie pieniądze kompilator uruchamiany poleceniem cc. Niestety - niektóre parametry rozpoznawane przez gcc nie są obsługiwane przez cc i vice versa, np opcja -Wall nie dziala w cc.
Jeżeli udało ci się skompilować program, możesz spróbowac go uruchomić. W tym
celu wpisz w
terminalu następującą
frazę:
nazwa_katalogu/nazwa_programu
W szczególności jeżeli program znajduje się w bierzącym katalogu:
./nazwa_programu
PAMIĘTAJ program napisany na diablo uruchomi się tylko na diablo.
Napisany na inyo
uruchomi się tylko na
inyo.
make jest narzędziem bardzo ułatwiającym kompilowanie programów składających się z wilu plików źródłowych.
Aby efektywnie z niego korzystać musisz przyswoić sobie ważną zasadę: każdy program w ososbnym katalogu. Dzięki temu będziesz miał zawsze porządek i będzie ci się wygodniej pracowało.
Załóżmy więc, że założyłeś katalog program i masz w nim dwa pliki źródłowe: plik1.c oraz plik2.c. Podczas pisania programu pliki te modyfikujesz i często kompilujesz program aby sprawdzić czy dobrze działa. Żeby ułatwić sobie pracę, utwórz w tym samym katalogu plik Makefile (musi się nazywać dokładnie tak: z durzej litery). Struktura tego pliku powinna być następująca:
Najprostszy Makefile składa się z zestawów linii o następującej skłądni:
plik_wynikowy:pliki_źródłowe
<tab> polecenia zamieniające pliki źródłowe na wynikowy
Więc w naszym przykładzie Makefile będzie następujący:
program:plik1.o plik2.o gcc -lm -g -o program plik1.o plik2.o plik1.o:plik1.c gcc -c plik1.c plik2.o:plik2.c gcc -c plik2.c
Mając gotowego Makefila wystarczy wejść do katalogu z programem i wpisać make. Program make otworzy plik o nazwie Makefile znajdujący się w bierzącym katalogu i wykona wszystkie podane polecenia pod warunkiem że plik wynikowy będzie starszy od plików źródłowych.
Make ma dużo większe mozliwości niż pokozałem w tym przykładzie. Można nawet napisać takiego makefila, który skonfiguruje program i zainstaluje go. Poza tym wcale nie trzeba używać make do programowania w c. Zachęcam do przejrzenia man make.
Możesz mieć kłopoty kompilując programy z curses. Po pierwsze musisz pamiętać o dołączeniu biblioteki dodając przy kompilacji opcję -lcurses . Poza tym na każdym z trzech komputerów trzeba dołączyć inny plik nagłówkowy. Jak ten problem rozwiązać dowiesz się tu
Jeżeli nie za bardzo wiesz jak pisać programy z curses, to mam tu coś co może pomóc.