Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
Int32használata helyettIntPtr-t alkalmaznak. - A kód, amely átalakítja a
IntPtr-tInt32-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:
- A Windows SDK dokumentációjában lásd a 64 bites Windows programozási útmutatóját.
- A Visual Studio 64 bites alkalmazások létrehozásának támogatásáról a Visual Studio IDE 64 bites támogatásában olvashat.
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 .