Kurz IDE Visual C++ (1.) 1.1. Krßtk² ·vodO v²vojov²ch prost°edφch jsem se ji₧ zmi≥oval v obou p°edchozφch kurzech. Tento kurz vßm pom∙₧e vytvß°et aplikace v Microsoft Visual C++ 6.0, kter² je souΦßstφ Visual Studia 6.0. Visual Studio obsahuje krom∞ VC++ (Visual C++) takΘ mnoho jin²ch v²vojov²ch prost°edφ nap°φklad Visual Basic nebo Visual J++. Dßle Φasem pou₧ijeme mnoho pomocn²ch aplikacφ jako je t°eba Spy++, pro monitoring proces∙, vlßken a oken. V souΦasnΘ dob∞ existuje beta verze Visual Studio 7.0 (Visual Studio.NET), p°esto se budeme zab²vat v²hradn∞ verzφ 6.0. Kdo mß verzi 5.0 nebo 4.0 nemusφ se bßt, proto₧e tyto t°i verze jsou tΘme° identickΘ. Zßsadnφ rozdφl je vÜak ve verzφch 1.0 a 2.0. Tyto dv∞ verze toti₧ generujφ 16-bitovΘ aplikace, zatφmco verze 4.0, 5.0 a 6.0 generujφ aplikace 32-bitovΘ. Proto prvnφ dv∞ verze siln∞ nedoporuΦuji, proto₧e takovΘto aplikace jsou spφÜe pod Windows 3.11, co₧ u₧ v dneÜnφ dob∞ nenφ to pravΘ. 1.2. Zßkladnφ popis prost°edφPo instalaci Visual Studia pustφme Visual C++ z menu Start|Microsoft Visual Studio 6.0|Microsoft Visual C++ 6.0. Po prvnφm spuÜt∞nφ se objevφ naprosto Üedß prßzdnß plocha, kterß je vid∞t na prvnφm obrßzku.
Ve Visual C++ v₧dy pracujete s tzv. Projekty (Projects). I pro jeden jedin² soubor musφ b²t vytvo°en
projekt. M∙₧ete vytvo°it nov² soubor, ale kdy₧ se pokusφte k≤d zkompilovat, IDE (Integrated Development
Environment) vßm oznßmφ, ₧e ke
kompilaci je nutnΘ mφt otev°en² aktivnφ projekt. Poka₧dΘ, kdy chcete vytvo°it n∞co novΘho
(a¥ u₧ projekt nebo jen soubor), vyberte
z menu File polo₧ku New a zobrazφ se vßm dialog, kter² vidφte na obrßzku. Pokud nemßte
otev°en² ₧ßdn² projekt, zobrazφ se p°φmo karta pro vytvo°enφ projektu (Projects). Pokud mßte otev°en²
projekt, zobrazφ se karta pro vytvo°enφ souboru (Files). Na kart∞ Workspaces, m∙₧ete vytvo°it
Blank Workspace. Jak² je rozdφl mezi Projektem a Workspace? Workspace slou₧φ p°edevÜφm pro zprßvu
vφce projekt∙, kterΘ spolu mohou souviset (ale nemusφ). Pozd∞ji si ukß₧eme, jak tato volba funguje.
Pomocφ karty Other documents m∙₧ete vytvo°it dokumenty t°eba Wordu Φi
Excelu. Tuto volbu vyu₧φvat
nebudeme. Projd∞te si jednotlivΘ polo₧ky na prvnφch dvou kartßch, kterΘ nßs prozatφm zajφmajφ. Na kart∞ Files
najdete
klasickΘ C/C++ Header files a C++ Source files, pomocφ kter²ch vytvo°φte hlaviΦkovΘ a zdrojovΘ soubory s
p°φponou V tΘto prvnφ lekci lehce popφÜu v²vojovΘ prost°edφ. Konkretnφ projekty budeme vytvß°et a₧ p°φÜt∞, kdy je budeme skuteΦn∞ pot°ebovat. Kdy₧ vytvo°φme jak²koliv projekt okno IDE se zm∞nφ. Otev°e se tzv. ClassView, kterΘ vidφte po levΘ stran∞. ClassView je pouze jedinß karta tohoto okna. ClassView zobrazuje jednotlivΘ t°φdy projektu, vΦetn∞ jejich funkcφ a prom∞nn²ch. Dßle v₧dy obsahuje adresß° Globals, kde najdete funkci main() nebo objekt aplikace theApp. DalÜφ kartou, kterou mß ka₧d² projekt, je tzv. FileView, kde vidφte vÜechny soubory, kterΘ projekt obsahuje rot°φd∞nΘ do jednotliv²ch adresß°∙ jako nap°φklad Header files nebo Source files. U₧ ne ka₧d² projekt m∙₧e navφc obsahovat t°etφ kartu ResourceView, kde vidφte vÜechny zdroje jako jsou bitmapy, kurzory nebo ikony p°idanΘ do projektu. Tuto kartu obsahujφ MFC projekty. Po pravΘ stran∞ z∙stane Üedß plocha, ale kdy₧ nap°φklad poklepete na fuknci main() v ClassView, otev°e se okno, kde uvidφte t∞lo tΘto funkce. Pokud se program pokusφte zkompilovat nap°φklad stiskem klßvesy F5, objevφ se t°etφ okno, kterΘmu °φkßme Output window neboli v²stupnφ okno. Op∞t obsahuje n∞kolik karet. Pro nßs jsou d∙le₧itΘ prvnφ dv∞ karty - Build a Debug. Na prvnφ karte Build vidφme pr∙b∞h kompilace a sestavenφ programu. Na kart∞ Debug vidφme pr∙b∞h programu, nap°φklad chybovΘ hlßÜky atd. VÜe je krßsn∞ vid∞t na dalÜφm obrßzku. Okno Φ. 1 je ClassView/FileView, Φ.2 je vlastnφ zdrojov² k≤d a Φ.3 je okno Output, kde vidφte na spodnφ stran∞ vÜechny zßlo₧ky.
1.3. Zp∙soby kompilace programu
Mo₧nß vßs prßv∞ napadß otßzka jak²m zp∙sobem se dß program spustit. Nejprve si proberem menu Build,
kterΘ celΘ vidφte na nßsledujφcφm obrßzku.
Prvnφ polo₧ka Compile Pokus.cpp ned∞lß nic jinΘho ne₧, ₧e pouze zkompiluje aktivnφ soubor. Zajφmav∞jÜφ
je druhß volba Build Pokus.exe. Ta zkompiluje a sestavφ vÜechny pot°ebnΘ soubory, aby byl program
spustiteln², ale nespustφ jej. DalÜφ v po°adφ je Build All, kterß zkompiluje a sestavφ program ·pln∞
od zaΦßtku. ZaΦne vlastn∞ tφm, ₧e sma₧e vÜechny p°edchozφ Kompilßtor VC++ pracuje ve dvou zßkladnφch re₧imech: Debug a Release. Prvnφ z nich vytvo°φ Debug verzi programu, tj. verzi, kterou ladφme a₧ vznikne funkΦnφ program bez chyb (pozn. ₧ßdn² program nenφ bez chyb). Kdy₧ vÜe funguje tak jak mß, vypustφme tzv. Release verzi, kterß je ochuzena o debugovacφ informace tudφ₧ je mnohem menÜφ a rychlejÜφ. ProΦ o tom vÜem mluvφm? T²kß se to dalÜφch polo₧ek v menu Build. Polo₧ka Set Active Configuration nastavφ, zda-li chceme kompilovat v re₧imu Debug Φi Release. Kompilßtor ovÜem m∙₧e pracovat i zcela jin²m vßmi nadefinovan²m zp∙sobem. K editaci re₧im∙ slou₧φ poslednφ zajφmavß polo₧ka Configurations, kde m∙₧ete p°idßvat a odstra≥ovat re₧imy. Pokud byste zde hledali vlastnφ nastavenφ jednotliv²ch re₧im∙, pak je najdete v menu Project a Settings. SamotnΘ nastavenφ je vÜak slo₧it∞jÜφ a probereme si ho pozd∞ji. Jak u₧ jsem psal v²Üe, pr∙b∞h kompilace a sestavenφ je zaznamenßvßn v dolnφm okn∞ na kart∞ Build. Samoz°ejm∞ nastavenφ re₧im∙ pro ka₧d² projekt je naprosto rozdφlnΘ. Nap°φklad projekt MFC vklßdß svΘ specialnφ dynamickΘ knihovny, aby programßtor mohl vyu₧φt v²hod MFC. Naproti tomu aplikace Win32 vklßdß standardnφ knihovny Windows a o MFC nevφ naprosto nic. 1.4. MFC versus Win32 API
JeÜt∞ vßm ve zkratce n∞co povφm o MFC a o "starΘm" Windows API. API obecn∞ znamenß aplikaΦnφ
programovacφ rozhranφ pomocφ kterΘho programßtor vyu₧φvß nap°φklad pevn² disk nebo grafickou
kartu. SamotnΘ Windows jsou ΦßsteΦn∞ programovßny pomocφ Windows API. Firma Microsoft
si ovÜem byla v∞doma toho, ₧e Windows API je slo₧itΘ a v n∞kter²ch p°φpadech nepru₧nΘ.
Programovßnφ je zdlouhavΘ, proto₧e programßtor si musφ napsat hodn∞ vlastnφho k≤du.
Proto vznikla knihovna MFC (Microsoft Foundation Class), kterΘ vnit°n∞ vyu₧φvajφ
Windows API, ale z pohledu programßtora se jde o daleko p°ßtelÜt∞jÜφ rozhranφ.
Nap°φklad prßce z °et∞zci kompletn∞ zapouzd°uje t°φda Tato problematika je tak rozsßhlß, ₧e v ka₧dΘ lekci jφ bude v∞novßno n∞kolik °ßdek. Samotnou knihovnu MFC zaΦneme probφrat n∞kdy na zaΦßtku p°φÜtφho roku. 1.5. Zßv∞rNa zßv∞r vßm prozradφm, co bude v p°φÜtφ lekci. P°φÜt∞ navß₧u na p°edchozφ dva kurzy tzn. si vytvo°φme jak konzolovou aplikaci tak projekt MFC, kter² upravφme tak, aby byl vhodn² pro DirectX.
|
|
© 2001 Vogel Publishing, design by ET NETERA