Ich habe ein 64bit C++ Projekt in Visual Studio 2010 (unter Windows 7 64bit) erstellt;64bit vC++ Programm scheint unter 32bit Modus zu laufen
ich dachte, dass ich eine 64-Bit-Anwendung ausgeführt wird, und der folgende Code zurück wahr:
bool is64bit = (sizeof(void*)==8);
aber wenn ich die Funktion IsWow64Process
genannt, kehrte er FALSCH ...
Mehr seltsame dinge:
- aufrufen
LoadLibrary()
eine dll unterladenfunktioniert gut - eine DLL unter
c:\windows\sysWow64\some.dll
Laden fehl (Fehlercode 193: some.dll ist keine gültige Win32-Anwendung)
diese Fehler deuten darauf hin, alle die Anwendung unter 32-Bit-Modus ausgeführt wird, aber das ist gegen die Wahrheit ist der Zeigertyp 8-Byte Länge
Ich bin verwirrt, jede Hilfe wird geschätzt!
+1 Alles, was das OP beschreibt, ist zu 100% konsistent mit einer 64-Bit-Anwendung auf einem 64-Bit-Betriebssystem. –
@DavidSchwartz Yeah - Leute werden verwirrt, weil die Verwendung von WoW64 bedeutet, dass Sie 32bit laufen, was das Gegenteil von dem ist, was Sie denken, wenn Sie den Namen nennen;) –
Schöne Antwort. Den Unterschied zwischen WoW64 und System32 zu erkennen gab mir vor einiger Zeit starke Kopfschmerzen. – nothrow