C++,
pierwsze starcie
Zanim w ogóle zaczniemy programować, musisz zaopatrzyć się w odpowiedni
kompilator C++ - wspominałem o tym pod koniec poprzedniego rozdziału, zalecając
jednocześnie używanie Visual C++. Dlatego też opisy poleceń IDE czy screeny będą
dotyczy ły właśnie tego narzędzia. Nie uniemożliwia to oczywiście używania innego
środowiska, lecz w takim wypadku będziesz w większym stopniu zdany na siebie.
Ale przecież lubisz wyzwania, prawda? ;)
Bliskie spotkanie z kompilatorem
Pierwsze wyzwanie, jakim jest instalacja środowiska, powinieneś mieć już za
sobą, więc pozwolę sobie optymistycznie założyć, iż faktycznie tak jest :) Swoją
drogą, instalowanie programów jest częścią niezbędnego zestawu umiejętności,
które trzeba posiąść, by mienić się (średnio)zaawansowanym użytkownikiem
komputera. Zaś kandydat na przyszłego programistę powinien niewątpliwie posiadać
pewien (w domyśle – raczej większy niż mniejszy) poziom obeznania w kwestii
obsługi peceta. W ostateczności można jednak sięgnąć do odpowiednich pomocy
naukowych :D
Środowisko programistyczne będzie twoim podstawowym narzędziem pracy, więc
musisz je dobrze poznać. Nie jest ono zbyt skomplikowane w obsłudze – z
pewnością nie zawiera takiego natłoku nikomu niepotrzebnych funkcji jak
chociażby popularne pakiety biurowe :) Niemniej, z pewnością przyda ci kilka
słów wprowadzenia.
W użyciu jest parę wersji Visual C++. W tym tutorialu będę opierał
się na pakiecie Visual Studio 7 .NET (Visual C++ jest jego częścią),
który różni się nieco od wcześniejszej, do niedawna bardzo popularnej,
wersji 6. Dlatego też w miarę możliwości będę starał się wskazywać na
najważniejsze różnice między tymi dwoma edycjami IDE. |
„Goły” kompilator jest tylko maszynką zamieniającą kod C++ na kod maszynowy,
działającą na zasadzie „ty mi podajesz plik ze swoim kodem, a ja go kompiluję”.
Gdy uświadomimy sobie, że przeciętny program składa się z kilku(nastu) plików
kodu źródłowego, z których każdy należałoby kompilować oddzielnie i wreszcie
linkować je w jeden plik wykonywalny, docenimy zawarte w środowiskach
programistycznych mechanizmy zarządzania projektami.
Projekt w środowiskach programistycznych to zbiór modułów
kodu źródłowego i innych plików, które po kompilacji i linkowaniu stają
się pojedynczym plikiem EXE, czyli programem. |
Do najważniejszych zalet projektu należy bardzo łatwa kompilacja – wystarczy
wydać jedno polecenie (na przykład wybrać opcję z menu), a projekt zostanie
automatycznie skompilowany i zlinkowany. Zważywszy, iż tak nie tak dawno temu
czynność ta wymagała wpisania kilkunastu długich poleceń lub napisania
oddzielnego skryptu, widzimy tutaj duży postęp :)
Kilka projektów można pogrupować w tzw. rozwiązania1 (ang. solutions).
Przykładowo, jeżeli tworzysz grę, do której dołączysz edytor etapów, to
zasadnicza gra oraz edytor będą oddzielnymi projektami, ale rozsądnie będzie
zorganizować je w jedno rozwiązanie.
***
Teraz, gdy wiemy już sporo na temat sposobu działania naszego środowiska oraz
przyczyn, dlaczego ułatwia nam ono życie, przydałoby się je uruchomić – uczyń
więc to niezwłocznie. Powinieneś zobaczyć na przykład taki widok:

Screen 7. Okno początkowe środowiska Visual Studio .NET
Cóż, czas więc coś napisać - skoro mamy nauczyć się programowania, pisanie
programów jest przecież koniecznością :D
Na podstawie tego, co wcześniej napisałem o projektach, nietrudno się domyśleć,
iż rozpoczęcie pracy nad aplikacją oznacza właśnie stworzenie nowego projektu.
Robi się to bardzo prosto: najbardziej elementarna metoda to po prostu
kliknięcie w przycisk New Project widoczny na ekranie startowym; można również
użyć polecenia File|New|Project z menu.
Twoim oczom ukaże się wtedy okno zatytułowane, a jakże, New Project2 :) Możesz w
nim wybrać typ projektu – my zdecydujemy się oczywiście na Visual C++ oraz Win32
Project, czyli aplikację Windows.

Screen 8. Opcje nowego projektu
Nadaj swojemu projektowi jakąś dobrą nazwę (chociażby taką, jak na screenie),
wybierz dla niego katalog i kliknij OK.
Najlepiej jeżeli utworzysz sobie specjalny folder na programy, które
napiszesz podczas tego kursu. Pamiętaj, porządek jest bardzo ważny :) |
Po krótkiej chwili ujrzysz następne okno – kreator :) Obsesja Microsoftu na
ich punkcie jest powszechnie znana, więc nie bądź zdziwiony widząc kolejny
przejaw ich radosnej twórczości ;) Tenże egzemplarz służy dokładnemu dopasowaniu
parametrów projektu do osobistych życzeń. Najbardziej interesująca jest dla nas
strona zatytułowana Application Settings – przełącz się zatem do niej.
Rodzaje aplikacji
Skoncentrujemy się przede wszystkim na opcji Application Type, a z kilku
dopuszczalnych wariantów weźmiemy pod lupę dwa:
- Windows application to zgodnie z nazwą aplikacja okienkowa. Składa się z
jednego lub kilku okien, zawierających przyciski, pola tekstowe, wyboru itp.
– czyli wszystko to, z czym stykamy się w Windows nieustannie.
- Console application jest programem innego typu: do komunikacji z
użytkownikiem używa tekstu wypisywanego w konsoli – stąd nazwa. Dzisiaj może
wydawać się to archaizmem, jednak aplikacje konsolowe są szeroko
wykorzystywane przez doświadczonych użytkowników systemów operacyjnych.
Szczególnie dotyczy to tych z rodziny Unixa, ale w Windows także mogą być
bardzo przydatne.
Programy konsolowe nie są tak efektowne jak ich okienkowi bracia, posiadają
za to bardzo ważną dla początkującego programisty cechę – są proste :)
Najprostsza aplikacja tego typu to kwestia kilku linijek kodu, podczas gdy
program okienkowy wymaga ich kilkudziesięciu. Idee działania takiego programu są
również trochę bardziej skomplikowane.
Z tych właśnie powodów zajmiemy się na razie wyłącznie aplikacjami konsolowymi –
pozwolą nam w miarę łatwo nauczyć się samego języka C++ (co jest przecież naszym
aktualnym priorytetem), bez zagłębiania się w skomplikowane meandry
programowania Windows.

Screen 9. Ustawienia aplikacji
Wybierz więc pozycję Console application na liście Application type.
Dodatkowo zaznacz też opcję Empty project – spowoduje to utworzenie pustego
projektu, a oto nam aktualnie chodzi.
Pierwszy program
Gdy wreszcie ustalimy i zatwierdzimy wszystkie opcje projektu, możemy
przystąpić do właściwej części tworzenia programu, czyli kodowania.
Aby dodać do naszego projektu pusty plik z kodem źródłowym, wybierz pozycję
menu Project|Add New Item. W okienku, które się pojawi, w polu Templates zaznacz
ikonę C++ File (.cpp), a jako nazwę wpisz po prostu main. W ten sposób utworzysz
plik main.cpp, który wypełnimy kodem naszego programu.
Plik ten zostanie od razu otwarty, więc możesz bez zwłoki wpisać doń taki oto
kod:
// First - pierwszy program w C++
#include <iostream>
#include <conio.h>
void main()
{
std::cout << "Hurra! Napisalem pierwszy program w C++!" << std::endl;
getch();
} |
Tak jest, to wszystko – te kilka linijek kodu składają się na cały nasz
program. Pewnie niezbyt wielka to teraz pociecha, bo ów kod jest dla ciebie
zapewne „trochę” niejasny, ale spokojnie – powoli wszystko sobie wyjaśnimy :)
Na razie wciśnij klawisz F7 (lub wybierz z menu Build|Build Solution), by
skompilować i zlinkować aplikację. Jak widzisz, jest to proces całkowicie
automatyczny i, jeżeli tylko kod jest poprawny, nie wymaga żadnych działań z
twojej strony.
W końcu, wciśnij F5 (lub wybierz Debug|Start) i podziwiaj konsolę z
wyświetlonym entuzjastycznym komunikatem :D (A gdy się nim nacieszysz, naciśnij
dowolny klawisz, by zakończyć program.)
1 W Visual C++ 6 były to obszary robocze (ang. workspaces)
2 Analogiczne okno w Visual C++ 6 wyglądało zupełnie inaczej, jednak
ma podobne opcje