Vytváření 64-bitových aplikací ve Visual Studiu 2005

Visual Studio 2005 obsahuje podporu pro sestavení a ladění 64-bitových aplikací pro 64-bitová Windows. Tento článek popisuje jak na to.

1. 64bitový operační systém

Jako první krok by mělo být nainstalování operačního systému Windows XP 64-bit Edition. Tento krok sice není nezbytný k sestavení 64-bitových aplikací (kompiler a linker jsou 32-bitové) ale aplikace nepůjde spustit.

2. Instalace MS Visual Studia 2005

Při instalaci Visual Studia je potřeba zvolit "Custom" instalaci. V té výchozí totiž není implicitně zvolena instalace 64-bitového kompilátoru a knihoven (hlavičkové soubory jsou společné). Pokud již Visual Studio nainstalované máte, je potřeba 64-bitovou podporu doinstalovat pomocí programu Setup.

3. Konfigurace Visual Studia 2005

Pro vytvoření varianty projektu pro 64-bitové aplikace je potřeba pro každý projekt vytvořit platformu x86. Změny proveďte v menu "Build\Configuration manager". V comboboxu "Active solution platform" zvolte "<New ...>". Objeví se dialog s podporovanými platformami. Ve výběru "Type or select the new platform" je potřeba zvolit "x86". Volbu "Copy settings from" ponechte na "Win32".

4. Konfigurace projektu

V projektu je potřeba zkontrolovat cesty, kam se ukládají dočasné a výsledné soubory. Pokud projekt pochází ještě z dob MS Visual Studia 6.0, cesty jsou tam zadány natvrdo, je potřeba je přepsat. Pokud máte projekt který je vytvořen v MS Visual Studiu .NET (vč. verze 2003), bude tam pravděpodobně zadáno $(IntDir) pro adresář s dočasnými soubory nebo $(OutDir) pro adresář kam se ukládají zkompilované binárky. Dále je potřeba zkontrolovat následující nastavení:

5. Odstranění chyb

Jakýkoliv větší projekt bude nutně obsahovat chyby, které vzniknou typovými rozdíly na 64-bitových platformách. Množství chyb bude záviset na tom, jak precizně jste kód napsali. Velké množství chyb je možné opravit už při kompilaci pro 32-bitovou platformu, pokud překládáte na Warning Level 4 a se zapnutou volbou "Detect 64-bit portability issues". Tato dvě nastavení ale vyžadují značnou dávku masochismu, a programátoři často používají nižší úroveň warningů a detekci 64-bitové přenositelnosti nechávají vypnutou.

Při kompilaci 64-bitové verze vás bude kompilátor nemilosrdně trestat za chyby jako např.:

6. ... no a konečně to můžeme spustit

Pokud jste bez újmy na zdraví překonali celý uvedený postup, můžete zkusit zkompilovanou aplikaci spustit. Pokud patříte ke znalcům assembleru, můžete se pomocí integrovaného disassembleru ve Visual Studiu podívat na to, jak 64-bitový kód vypadá. V Task Manageru se zase můžete přesvědčit, že opravdu jde o 64-bitovou aplikaci (viz. obr.)

Task Manager s naší běžící aplikací