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