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 G++ , 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:
g++ nazwa_pliku.cpp
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:
g++ -o nazwa_pliku_wykonywalnego nazwa_pliku_źródłowego.cpp
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.
g++ -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.
G++ -o suma -Wall -Werror suma.c
Mam nadzieję iż ten krótki kurs kompilacji w G++ 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