2010-12-11 11 views
0

Ok, während sizeof (Myenum) und sizeof (int) funktioniert, möchte ich sizeof (Objekt) verwenden, aber ich möchte nicht die Größe des Objekts, aber die Größe von Zeiger ... nur aus Gründen der Portabilität, ich muss wissen, ob ein 64-Bit-Zeiger oder 32-Bit-Zeiger ist, kann ich die Verwendung von sizeof vermeiden, wenn ok mit bedingten Kompilierung ist, aber ich weiß nicht, ob es Konstanten zu überprüfen, ob wir ist auf einem Bit-System 32 anstelle von 64 BitC# sizeof Objektzeiger (SAFE-Kontext)

Danke für

Vorschläge soll
+0

möglich Duplikat [Ermittlung der CPU-Architektur Typ C#] (http://stackoverflow.com/questions/767613/identifying-the-cpu-architecture-type-using-c) –

+0

mögliche Duplikat von [Wie Windows 64 Bit-Plattform mit .net erkennen?] (http://stackoverflow.com/questions/336633/how-to-detect-windows-64-bit-platform-with-net) – jgauffin

+0

@ Frédéric Hamidi: Mh das Problem ist, während der Kontext ist anders (ich möchte Größe von etwas), es betrifft CPU-Erkennung, so denke ich, wenn jemand nach sizeof (Objekt) suchen wird, ist es besser, wenn er diese Frage findet, so wird er nicht öffne ein neues. –

Antwort

0

der IntPtr Typ eine ganze Zahl der Größe ist plattformspezifisch. Das heißt, eine Instanz dieses Typs wird auf 32-Bit-Hardware und -Betriebssystemen mit 32 Bit und auf 64-Bit-Hardware und -Betriebssystemen mit 64 Bit erwartet.

Der IntPtr-Typ ist ein Zeiger, gefunden bei IntPtr Structure.