Megosztás:


64 bites alkalmazások

Amikor lefordít egy alkalmazást, megadhatja, hogy a Windows 64 bites operációs rendszeren natív alkalmazásként vagy WOW64 alatt (Windows 32-bit a Windows 64-bit rendszeren) fusson. A WOW64 egy kompatibilitási környezet, amely lehetővé teszi, hogy egy 32 bites alkalmazás 64 bites rendszeren fusson. A WOW64 a Windows operációs rendszer összes 64 bites verziójában megtalálható.

32 bites és 64 bites alkalmazások futtatása Windows rendszeren

A .NET Framework 4 vagy újabb verzióira épülő 32 bites alkalmazások a WOW64 alatt futnak 64 bites rendszereken.

Megjegyzés:

Az x86 emuláció és az Itanium processzorcsalád WOW64 alrendszerének kialakítása miatt az alkalmazások csak egy processzoron futtathatók. Ezek a tényezők csökkentik az Itanium-alapú rendszereken futó 32 bites .NET-alkalmazások teljesítményét és méretezhetőségét. Javasoljuk, hogy a nagyobb teljesítmény és méretezhetőség érdekében használja a .NET-keretrendszer 4- vagy újabb verzióját, amely natív, 64 bites itanium-alapú támogatást tartalmaz.

Ha 64 bites felügyelt alkalmazást futtat egy 64 bites Windows operációs rendszeren, alapértelmezés szerint legfeljebb 2 gigabájt (GB) méretű objektumot hozhat létre. A .NET-keretrendszer 4.5-ös és újabb verzióiban azonban növelheti ezt a korlátot. További információkért tekintse meg az <gcAllowVeryLargeObjects> elemet.

Számos szerelvény azonos módon fut a 32 bites CLR-en és a 64 bites CLR-en is. Egyes programok azonban a CLR-től függően eltérően viselkedhetnek, ha az alábbiak közül legalább egyet tartalmaznak:

  • A platformtól függően változó tagokat tartalmazó struktúrák (például bármilyen mutatótípus).
  • Mutató aritmetika, amelyik állandó méreteket tartalmaz.
  • Helytelen platformhívások vagy COM-deklarációk, amelyek a Int32 használata helyett IntPtr-t alkalmaznak.
  • A kód, amely átalakítja a IntPtr-t Int32-vé.

A 64 bites CLR-en futtatandó 32 bites alkalmazások portolásáról további információt a 32 bites felügyelt kód migrálása 64 bitesre című témakörben talál.

Általános 64 bites programozási információk

A 64 bites programozással kapcsolatos általános információkért tekintse meg az alábbi dokumentumokat:

Fordító támogatása 64 bites alkalmazások létrehozásához

Ha a .NET használatával 32 bites vagy 64 bites számítógépen hoz létre alkalmazást, az alkalmazás natív alkalmazásként fog futni egy 64 bites számítógépen (azaz nem a WOW64 alatt). Az alábbi táblázat olyan dokumentumokat sorol fel, amelyek ismertetik, hogyan hozhat létre 64 bites, natívként, WOW64 vagy mindkettő alatt futó 64 bites alkalmazásokat a Visual Studio fordítóival.

Fordítóprogram Fordító beállítás
Visual Basic -platform (Visual Basic)
Visual C# -platform (C# fordító beállításai)
Visual C++ Platformfüggetlen, köznyelvi (CIL) alkalmazásokat a /clr:safe használatával hozhat létre. További információ: -clr (Common Language Runtime Compilation).

A Visual C++ minden 64 bites operációs rendszerhez külön fordítót tartalmaz. További információ arról, hogyan hozhat létre natív alkalmazásokat a Visual C++ használatával, amelyek 64 bites Windows operációs rendszeren futnak, lásd a 64 bites programozást.

Egy .exe- vagy .dll-fájl állapotának meghatározása

Annak megállapításához, hogy egy .exe vagy .dll fájl csak egy adott platformon vagy a WOW64 alatt fut-e, használja a CorFlags.exe (CorFlags Conversion Tool) opciók nélkül. A CorFlags.exe használatával is módosíthatja egy .exe vagy .dll fájl platformállapotát. A Visual Studio-szerelvény CLR-fejlécében a fő futtatókörnyezet verziószáma 2, az alverzió verziószáma pedig 5. A 0-ra beállított kisebb futtatókörnyezeti verziójú alkalmazások régi alkalmazásokként lesznek kezelve, és mindig a WOW64 alatt futnak.

Ha programozott módon szeretne lekérdezni egy .exe vagy .dll annak megállapításához, hogy az csak egy adott platformon vagy a WOW64 alatt fut-e, használja a metódust Module.GetPEKind .