2010-04-21 11 views
9

Ich kompiliere ein Programm auf meinem 64-Bit-Rechner, aber ich bin nicht sicher, ob es 32-Bit oder 64-Bit-Ausgabe erzeugt. Wie kann ich prüfen, ob eine Datei ist 32bit oder 64bit unter Windows?Überprüfen, ob die Datei 32bit oder 64bit ist - unter Windows

+0

Linux, Windows oder ??? Solaris ist schon alles 64 Bit. – kmarsh

+0

Sorry - Windows .. Ja, das war irgendwie wichtig .. – stiank81

+1

Für zukünftige Antwort Sucher, diese Windows Explorer-Erweiterung können Sie 32/64 Bit Architektur Informationen in Ihrem Dateimanager ohne Verwendung externer Tools: http: //sanje2v.wordpress .com/2013/12/10/property-handler-for-windows-explorerman-property-extension /. Unterstützt auch DLL-, LIB-, OBJ-, O- und A-Dateien. – Sanjeev

Antwort

8

Sie können GNUfile für Windows verwenden.
Sie können die App durch PEID Schließlich laufen (und weniger Raum für Fehler Vorzugs-) Mit Visual Studio C++ (zumindest Express Edition Minimum) oder der Platform SDK Sie/Header an den PE-Header Werte suchen verwenden dumpbin einbaubar .

Der erste Wert in der Datei-Header teilt Ihnen die Architektur: entweder 0x14C für x86 oder 0x8664 für x64

+1

Funktioniert gut! Ich habe mich nicht darum bemüht, es durch PEID usw. laufen zu lassen. Ran mit Cygwin. Funktioniert gut. Und es heißt nicht 0x14C/0x86664, sondern PE32 für x86 und PE32 + für x64. – stiank81

7

Führen Sie es einfach aus und sehen Sie sich die Registerkarte Prozesse im Windows Task-Manager an. Wenn hinter dem Prozessnamen ein * 32-Suffix steht, ist es 32-Bit, ansonsten 64-Bit (vorausgesetzt, Sie befinden sich auf einem 64-Bit-Betriebssystem).

+2

Nun ja, das wird funktionieren, aber es ist nicht ganz vernünftig, nur ein Programm auszuführen, um herauszufinden, ob es 32 oder 64 Bit ist. Außerdem haben Sie möglicherweise keine 64-Bit-Maschine, um damit zu arbeiten. – kaerast

+1

Wenn Sie nur eine 32-Bit-Maschine haben, läuft sie nicht, wenn es sich um eine 64-Bit-App handelt! – JamesRyan

2

Sie könnten den 'Datei' Befehl von Linux in einer Cygwin-Umgebung zum Testen ausführen.

Sie könnten auch eine Debug-Anweisung wie 'print sizeof (int)' (schematisch) setzen, um zu überprüfen.

+0

Klingt nach einer tollen Idee. Ich benutze Cygwin, aber wenn ich versuche "Datei" zu benutzen, wird "Befehl nicht gefunden" angezeigt. Ist das bei Cygwin tatsächlich verfügbar? Wenn ja, muss ich vergessen haben, ein Paket zu installieren ..? – stiank81

+0

Siehe http://cygwin.com/faq/faq.setup.html#faq.setup.what-packages –

1

Sie EXE Explorer von MITEC, ein kleines kostenloses Tool verwenden. Es zeigt auch viele andere Eigenschaften der geprüften Binärdatei an.

Ich hatte die gleiche Frage wie das Original-Poster und die EXE Explorer funktioniert für mich ganz gut.

+0

Dies scheint nur mit EXE-Dateien zu funktionieren. – Pietro

Verwandte Themen