C/C++ & Visual C++Visual Studio.NET (1.) |
|
┌vodem | DatovΘ struktury | Visual Studio.NET | Downloads | Otßzky a odpov∞di |
|
V dneÜnφm dφlu rubriku C/C++ opustφme DirectX a podφvßme se trochu blφ₧e na v²vojovΘ prost°edφ Visual Studio.NET, proto₧e jej pou₧φvß stßle vφce programßtor∙ a opouÜtφ verzi 6.0. ╚lßnek je i pro ty, kte°φ vßhajφ, zda se jφm p°echod v∙bec vyplatφ. Na druhou stranu zde nechci popisovat technologii .NET. 1.1. Instalace prost°edφVisual Studio je nynφ k dispozici ve verzi 7.1, kterΘ obsahuje pßr vylepÜenφ oproti verzi 7.0 (ze zkuÜenosti bych spφÜ °ekl, ₧e opravuje chyby starÜφ verze), ale v zßsad∞ se dß °φct, ₧e ob∞ verze jsou hodn∞ podobnΘ, aΦkoliv projekty vytvo°enΘ ve verzi 7.0 se musφ p°evΘst do verze 7.1 a zp∞tnß kompatibilita nenφ zaruΦena. Verze pro profesionßly
U knih, kterΘ se zab²vajφ problematikou .NET technologie bude specißlnφ verze Visual Studia .NET, kterß je omezenß na 60 dnφ. Verze pro amatΘry
Pomocφ t∞chto Φty° nßstroj∙ byste nem∞li vyvφjet komerΦnφ software tzn. software urΦen² k prodeji. .NET Framework P°ed instalacφ samotnΘho VS.NETSoftwarovΘ po₧adavky Prakticky ka₧d² operaΦnφ systΘm n∞co pot°ebuje: Windows NT 4.0 Service Pack 6a VÜechny tyto Φßsti naleznete na Windows Component Update (WCU) CD, kterΘ je souΦßstφ balφku. Po vlo₧enφ prvnφho CD se automaticky detekuje, co je z toho pot°eba a co ne. NejlΘpe jsou na tom Windows XP, kterΘ vy₧adujφ instalaci pouze .NET Frameworku. Web projekty vy₧adujφ instalaci dodateΦn²ch komponent jako jsou Internet Information Services (IIS) a FrontPage Server Extension (FPSE). Pokud tyto dv∞ komponenty nenainstalujete, budete moci webovΘ projekty vytvß°et pouze na vzdßlen²ch poΦφtaΦφch, kde jsou °ßdn∞ nainstalovanΘ. IIS lze instalovat a₧ pozd∞ji, ale pak je nutnΘ opravit instalaci .NET Framework. Instalace vy₧aduje internetovΘ p°ipojenφ, proto₧e musφte stßhnout tzv. Security Updates ze serveru Microsoftu. Na WCU naleznete adresß° dotNetFramework , ve kterΘm je instalace .NET Frameworku. Zmi≥uji to z toho d∙vodu, ₧e tento soubor je pot°eba p°i instalaci vaÜeho software na cizφ PC, kde nenφ .NET Framework instalovßn. Instalace VS.NETInstalaΦnφ balφk obsahuje alespo≥ 4 CD s instalacφ samotnΘho Visual Studia, dßle 1 CD Windows Component Update . Verze Enteprise Architect navφc obsahuje Microsoft Visio pro tvorbu blokov²ch schΘmat, stavov²ch diagram∙ apod. (po instalaci Visia se do prost°edφ Studia integruje funkce Reverse Engineer , kterß umo₧nφ vytvo°it schΘmata t°φd z ji₧ vytvo°enΘho projektu). Dßle dostanete Microsoft Visual Source Safe 6.0c pro sprßvu vaÜich zdrojov²ch k≤du mezi spolupracovnφky na sφti (po instalaci VSS se do Studia op∞t integruje mno₧stvφ funkcφ). Instalace probφhß ve t°ech krocφch: 1) Start - LicenΦnφ smlouva, produktov² klφΦ. A to je vÜe. Visual Studio NET spustφte p°φkazem Start-Programy-Microsoft Visual Studio .NET-Microsoft Visual Studio .NET. 1.2. Prvnφ spuÜt∞nφPo prvnφm spuÜt∞nφ Vßm Studio nabφdne strßnku, kde m∙₧ete nastavit klßvesnici, pozici oken, nßpov∞du a podobn∞. T∞m, kdo jsou zvyklφ na verzi 6.0 doporuΦuji nastavit klßvesnici tak, jak je vid∞t na nßsledujφcφm obrßzku: Help filter urΦφ, kterß hesla se zobrazφ v indexu nßpov∞dy. Filtr m∙₧ete samoz°ejm∞ zm∞nit p°φmo v indexu, zde nastavφte implicitnφ hodnotu. Volba Internal help znamenß, ₧e pokud vyvolßte nßpov∞du klßvesou F1, zobrazφ se p°φsluÜnß strßnka p°φmo ve Studiu. V opaΦnΘm p°φpad∞ se otev°e dalÜφ okno. Nakonec m∙₧ete nastavit akci, kterß se aplikuje po spuÜt∞nφ studia. Tuto strßnku m∙₧ete vyvolat kdykoliv pozd∞ji, pokud po spuÜt∞nφ kliknete na kartu My Profile. Pokud se podφvßme na kartu Projects, studio nßm zobrazφ poslednφ otev°enΘ projekty. PoΦet polo₧ek v seznamu lze samoz°ejm∞ nastavit (viz. p°φÜt∞). Bohu₧el tato funkce nenφ zcela bezproblΘmovß, proto₧e prost°edφ si Üpatn∞ pamatuje datum poslednφ modifikace projektu, tak₧e t°eba projekt, na kterΘm jste pracovali vΦera se zobrazφ jako poslednφ apod. K podrobn∞jÜφmu nastavenφ prost°edφ se dostaneme v p°φÜtφ lekci. 1.3. Vytvß°φme nov² projektTo co se naz²valo ve verzi 6.0 Workspace se ve verzi 7.1 naz²vß Solution. Hlavnφ soubor projektu mß p°φponu .sln, tak₧e projekty nejsou zp∞tn∞ kompatibilnφ. Na druhou stranu p∙vodnφ soubor .dsw z∙stßvß zachovßn, tak₧e m∙₧ete udr₧ovat projekt pro ob∞ verze studia, tak jako to d∞lßm v p°φpad∞ projektu kurzu Direct X. Pokud otev°ete projekt starÜφ verze, studio vßs vyzve ke konverzi a vytvo°φ soubor jmΘno_projektu.sln. Nov² projekt (solution) vytvo°φte pomocφ polo₧ky menu File->New. Pokud chcete vytvo°it vφce podprojekt∙ v rßmci jednoho projektu, je t°eba nejprve pou₧φt volbu Blank solution. Tato volba vytvo°φ prßzdn² adresß° pro budoucφ podprojekty. Ka₧d² podprojekt bude ve vlastnφm adresß°i a spojeny budou prßv∞ souborem .sln v ko°enovΘm adresß°i projektu. Mo₧nß je to trochu zamotanΘ, tak₧e pro jistotu vÜe jeÜt∞ jednou zopakuji: Projekt neboli solution nazveme t°eba Pokus01. Pro tento projekt vytvo°φme pomocφ volby Blank solution adresß° Pokus01 a soubor pokus01.sln. Dßle budeme p°idßvat podprojekty volbou Project. Na nßsledujφcφm dialogu vidφte jak:
Na tomto dialogu m∙₧ete samoz°ejm∞ vytvo°it cel² projekt, ani₧ byste museli pou₧φt Blank solution. Volbou Create directory for Solution, kterß je aktivnφ, pokud vyberete Close Solution mφsto Add to Solution, prßv∞ zajistφte, ₧e se automaticky vytvo°φ adresß° pro projekt jako kdybyste pou₧ili Blank solution. Naopak volba Add to Solution zajistφ, ₧e se nov² podprojekt vlo₧φ do aktußln∞ otev°enΘho projektu. VÜimn∞te si, ₧e jednotlivΘ skupiny projekt∙, jsou rozd∞len² ve stromu vlevo podle programovacφho jazyka. U C++ se strom dßle d∞lφ. To je jedna z dalÜφch v²hod novΘho studia: pro vÜechny jazyky mßme jedno prost°edφ a projekt se m∙₧e sklßdat z podprojekt∙, kde ka₧d² podprojekt bude v jinΘm jazyce! Poznßmka: Princip vytvß°enφ projekt∙ je stejn² jako ve verzi 6.0, jen mφsto workspace pou₧φvßme solution. Jß se zde budu v∞novat pouze projekt∙m pro C++. Klasickou konzolovou aplikaci vytvo°φme pomocφ Win32 Console Project. Ale v nßsledujφcφm dialogu (wizardu pro tvorbu projektu) lze chovßnφ projektu zcela zm∞nit:
Tak₧e z konzolovΘ aplikace m∙₧ete ud∞lat okennφ jako kdybyste vybrali Win32 Project a naopak. M∙₧ete rovn∞₧ vytvo°it dynamickou resp. statickou knihovnu volbami DLL resp. Static Library. Volba Empty project nevytvo°φ ₧ßdnou kostru projektu. Podporu ATL nebo MFC m∙₧ete zapnout pouze u konzolovΘ aplikace. Pokud chceme klasickou MFC aplikaci, na kterou jsme byli zvyklφ ze starΘho prost°edφ, pou₧ijeme projekt MFC Application p°φpadn∞ MFC DLL pro knihovnu. Zde nßm pr∙vodce nabφdne nastavenφ, na kterΘ jsme zvyklφ ze starÜφ verze. Pr∙vodce je jen trochu lΘpe uspo°ßdan². Poslednφ skupinou projekt∙, kterou se budeme zab²vat je .NET projekty. Ty jsou zde novΘ. Konzolovou aplikaci pro .NET vytvo°φme pomocφ Console Application a okennφ aplikaci Windows Forms Application. Windows Forms jsou nßstupci MFC v prost°edφ .NET. Do v∞tÜφch podrobnostφ zde nebudu zabφhat, proto₧e tato problematika by vydala na mnoho kapitol. D∙le₧itΘ nynφ je, ₧e tyto projekty generujφ programy v tzv. °φzenΘm k≤du, kter² je odliÜn² od nativnφho k≤du procesoru, tak jak ho znßme z b∞₧nΘho projektu. V p°φpad∞ C++ lze tuto funkΦnost vypnout, ale tφm potlaΦφte podstatu technologie .NET. Ta spoΦφvß v tom, kompilßtor generuje procesorov∞ nezßvisl² k≤d, kter² je kompilovßn do nativnφho k≤du danΘho procesoru a₧ v dob∞ spuÜt∞nφ nebo instalace aplikace. Princip je velmi podobn² jako u jazyka Java. O kompilaci do nativnφho k≤du se starß prßv∞ .NET Framework. 1.4. Editor k≤duNa zßv∞r lekce si povφme n∞co krßtce o editoru zdrojovΘho k≤du. Budeme se p°edevÜφm zab²vat novinkami, kterΘ editor p°inßÜφ oproti verzi 6.0. Jako prvnφ si jist∞ vÜimnete, jak²m zp∙sobem pracuje novΘ prost°edφ s vφce soubory najednou. Vyu₧φvß tzv. Tabs a p°epφnat mezi otev°en²mi soubory m∙₧ete pouh²m kliknutφm na p°φsluÜnou kartu: Jako hlavnφ zm∞nu bych zde uvedl automatickΘ vytvß°enφ stromovΘ struktury v rßmci otev°enΘho souboru. M∙₧ete tak zabalit vÜechny funkce do p°ehlednΘ seznamu a potΘ si zobrazit jen vybranou apod. Tato funkce se naz²vß Outlining a najdete ji v menu Edit. Funkce Collapse to Definition zp∙sobφ maximßlnφ zabalenφ celΘ stromovΘ struktury v otev°enΘm souboru. Naopak maximßlnφ rozbalenφ zp∙sobφ Toggle All Outlining. VybranΘ Φßsti, m∙₧ete rozbalovat a zabalovat kliknutφm na symbol + danΘ Φßsti. Po zabalenφ se mφsto k≤du zobrazφ okΘnko z t°emi teΦkami. Pokud nad toto okΘnko najedete myÜφ, IDE vßm po chvilce ukß₧e, co je zabaleno v podob∞ tooltipu. Krom∞ automatickΘho d∞lenφ, kterΘ provßdφ prost°edφ (funkce, bloky), m∙₧ete vytvo°it vlastnφ Φßsti, kterΘ se na po₧ßdßnφ zabalφ nebo naopak. Nev²hodou tΘto funkce je to, ₧e po zav°enφ a op∞tovnΘm otev°enφ souboru, se rozbalenφ a zabalenφ blok∙ zapomene. Ostatnφ funkce jako IntelliSense, Bookmarks a dalÜφ z∙staly prakticky nezm∞n∞ny a popsanΘ je najdete v Φlßnku o Visual C++ 6.0. JeÜt∞ bych zmφnil jednu v∞c a tou je ulo₧enφ okolnφch oken v rßmci prost°edφ. Mßm na mysli okna jako Output, Help, Toolbox atd. Zde Studio podstoupilo takΘ hodn∞ zm∞n. Okna mohou b²t umφst∞na do prostoru nebo p°ichycena k libovolnΘ hran∞ hlavnφho okna, ale krom toho jeÜt∞ m∙₧ete nastavit volbu Auto hide, kterß zajistφ, ₧e pokud se danΘ okno nepou₧φvß, okno "zajede" do liÜty vpravo, vlevo nebo dole (podle toho kde je okno p°ichyceno) a je vysunuto pouze pokud na n∞j poklepßte nebo pokud na n∞j samo prost°edφ zam∞°φ svou pozornost (rozum∞j fokus). Vezmeme si nap°φklad okno Output, kde se zobrazujφ informace o kompilacφ a pozd∞ji o b∞hu aplikace. Toto okno m∙₧e b²t normßln∞ skryto, proto₧e b∞hem psanφ jej nepot°ebujeme, ale ve chvφli kdy spustφme kompilaci, okno se vysune a vidφme pr∙b∞h kompilace. Ve fßzi spuÜt∞nφ je okno viditelnΘ po°ßd, tak₧e vidφme i ladφcφ zprßvy zasφlanΘ aplikacφ. Volbu Auto hide m∙₧eme nastavit pro libovolnΘ plovoucφ okΘnko v prost°edφ. Zde byla jedna z chyb verze 7.0, kde se Φasto stßvalo, ₧e se okna necht∞la vysouvat. Pokud chceme volbu zasouvanφ doΦasn∞ vypnout, zmßΦkneme na danΘm okn∞ Üpendlφk. S tφmto vylepÜenφm si m∙₧ete dlouho pohrßt a ve v²sledku se s prost°edφm pracuje mnohem lΘpe, proto₧e vßs neotravujφ okna, kterΘ vlastn∞ v∙bec nepot°ebujete a p°itom jsou stßle po ruce. 1.5. Zßv∞rA je tu op∞t konec! Doufßm, ₧e se Vßm malß prochßzka nov²m prost°edφm lφbila a ₧e se p°φÜt∞ uvidφme u druhΘ Φßsti povφdßnφ o v²vojovΘm prost°edφ pro .NET, kde zabrousφme do nastavenφ IDE. T∞Üφm se p°φÜt∞ nashledanou.
|
|