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
Visual Studio .NET se dodßvß ve t°ech variantßch:

  • Professional

  • Enterprise Developer

  • Enteprise Architect

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
Microsoft takΘ umo₧≥uje zakoupit jednotlivΘ jazyky zvlßÜ¥ za mnohem ni₧Üφ ceny:

  • Visual Basic .NET Standard

  • Visual C++ .NET Standard

  • Visual C # .NET Standard

  • Visual J# .NET Standard

Pomocφ t∞chto Φty° nßstroj∙ byste nem∞li vyvφjet komerΦnφ software tzn. software urΦen² k prodeji.

.NET Framework
Jßdro technologie .NET Framework je zdarma a m∙₧ete si ho stßhnout na strßnkßch Microsoftu (samoz°ejm∞ je souΦßstφ instalace, viz. dßle). U verze 7.1 je i nov∞jÜφ verze Frameworku 1.1.

P°ed instalacφ samotnΘho VS.NET

SoftwarovΘ po₧adavky

VS.NET nelze instalovat na systΘmy Windows 95, 98 a ME. Pro b∞h aplikacφ vytvo°en²ch VS.NET nelze pou₧φt Windows 95. Odinstalujte vÜechny p°edchozφch verze VS .NET (Release Candidate, Beta 2, Beta 1). Docela zajφmavß informace je, ₧e si novΘ studio "7.1" nevadφ se starÜφ verzφ 6.0 (dokonce ani 7.0). Tohle tvrdφ Microsoft a z vlastnφ zkuÜenosti to mohu potvrdit.

Prakticky ka₧d² operaΦnφ systΘm n∞co pot°ebuje:

Windows NT 4.0 Service Pack 6a
Windows 2000 Service Pack 2
Microsoft Windows Installer 2.0
Microsoft Windows Management Instrumentation
Microsoft FrontPage 2000 Web Extensions Client
Microsoft FrontPage 2000 Server Extensions Service Release 1.2
Setup Runtime Files
Microsoft Internet Explorer 6
Microsoft Data Access Components 2.7
Microsoft Jet 4.0 Service Pack 3
Microsoft .NET Framework

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.NET

InstalaΦ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φΦ.
2) Options - V²b∞r instalovan²ch souΦßstφ.
3) Install - Samotnß instalace, kopφrovßnφ soubor∙ a p°φpadnß registrace komponent.

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² projekt

To 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≤du

Na 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∞r

A 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.

 

Ond°ej BuriÜin a Ji°φ Formßnek