Przewodnik kompilacji w C

Transkrypt

Przewodnik kompilacji w C
Przewodnik kompilacji w C
1. W czym pisać program ?
W trakcie zawodów będziemy potrzebować tylko dowolnego edytora tekstu, np.:
Notepad++ , Notatnik , WordPad.
Każde stanowisko będzie wyposażone w w/w edytory, w których będziemy mogli
pisać nasz program.
Przykład:
Zapisujemy nasz kod źródłowy jako nazwa.c i przechodzimy do etapu
kompilacji :)
2. Jak kompilować ?
.
Do procesu kompilacji będziemy używać kompilatora GCC , co za tym idzie
kompilacja odbywa się pod konsolą Windows.
Skompilować program możemy wtedy i tylko wtedy gdy jesteśmy w katalogu w którym
znajduje się nasz plik źródłowy:
Konsolę uruchamiamy w sposób następujący:
Start → Uruchom → wpisujemy „command” lub „cmd” → Enter / OK
Mała powtórka z podstawowych poleceń DOS-a.
Nazwa_dysku : → przejście między partycjami
cd nazwa_folderu → wejście do danego folderu
cd..→ wyjście z folderu poziom wyżej.
Będąc już w naszym folderze w którym mamy swój „kochany” program możemy
skompilować go za pomocą polecenia:
gcc nazwa_pliku.c
Utworzy się plik wykonywalny o nazwie a.exe który możemy już odpalić ;)
Jeśli chcemy nazwać swój plik wykonywalny inaczej piszemy w konsoli:
gcc -o nazwa_pliku_wykonywalnego nazwa_pliku_źródłowego.c
3. Jak uruchomić nasz program ?
Istnieją dwa sposoby uruchomienia naszego programu , mianowicie :
1. Klikając na plik *. exe 2 razy :)
2. Uruchamiając pod konsolą poleceniem
./ nazwa_pliku.exe
Jeśli chcemy uruchomić nasz program z przygotowanym plikiem wejściowym
odpalamy nasz program za pomocą polecenia :
./ nazwa_pliku.exe <dane_wejsciowe.txt
Przykładem może być program sumujący dwie liczby:
#include <stdio.h>
int main()
{
int a,b;
int suma;
scanf("%d",&a);
scanf("%d",&b);
suma= a+b;
printf("Suma wynosi : %d \n", suma);
return 0;
}
Zapisujemy program jako suma.c kompilujemy oraz przygotowujemy plik dane.txt w
którym będą umieszczone nasze dwie liczby które chcemy dodać np.: 2 i 5.
Po uruchomieniu programu poleceniem
./ suma.c <dane.txt
Powinniśmy otrzymać wynik : Suma wynosi : 7 :)
Kolejna ważną opcją kompilacji jest ilość wyświetlanych ostrzeżeń. Za pomocą
polecenia -Wall możemy sprawić, że kompilator będzie wypisywał nam wszelkie
znalezione nieprawidłowości podczas kompilacji , nawet jeśli nie są to błędy, a tylko
ostrzeżenia.
gcc -o suma -Wall suma.c
Jednak gdy chcemy wystrzec się wszystkich błędów możemy użyć opcji -Werror.
Kompilator po napotkaniu jakiegokolwiek błędu lub ostrzeżenia. Plik Exe zostanie
zbudowany tylko wtedy gdy wszystkie nieprawidłowości zostaną poprawione.
gcc -o suma -Wall -Werror suma.c
Mam nadzieję iż ten krótki kurs kompilacji w Gcc pomoże Państwu w czasie zawodów
i przyspieszy pracę :)
Pewnie Państwo zastanawiają się czym jest spowodowany taki, a nie inny sposób
kompilacji, a nie np.: używanie Dav C++ gdzie kompilacja jest automatyczna po
kliknięciu jednego buttona. Otóż gotowe narzędzia programistyczne m.in. Dev C++
nie trzyma ustalonego standardu języka i może przepuścić rzeczy „ poza standardem”.
Takim błędem jest np. tworzenie dynamiczne tablicy tzn:
W Dev C++ nie zostanie zgłoszony błąd przy następującym zdeklarowaniu tablicy:
int main()
{
int a;
int tab[a];
return 0;
}
A jest to oczywiście ewidentnym błędem gdyż rozmiar tablicy nie jest podany, bo pod
zmienna a w takim stanie kryją się po prostu śmieci
. Po wysłaniu takiego kodu do sprawdzenia otrzymalibyście komunikat zwrotny
Compliation Error, dlatego też aby uchronić was przed takiego rodzaju błędem
spowodowanym przez nieścisłości narzędzi programistycznych doszliśmy więc do
wniosku że kompilacja w „czystym C ” będzie dla wszystkich najlepszym
rozwiązaniem.
Do zobaczenia 20 . Kwietnia :)
Autor: Krzysztof Rudlicki