Heim > Backend-Entwicklung > C++ > Ist „long' unter 64-Bit-Windows wirklich 64-Bit?

Ist „long' unter 64-Bit-Windows wirklich 64-Bit?

DDD
Freigeben: 2024-12-28 20:50:18
Original
957 Leute haben es durchsucht

Is `long` Really 64-Bits on 64-Bit Windows?

Bitgröße von Long unter 64-Bit-Windows: Ein genauerer Blick

Die Frage nach der Größe von Long unter 64-Bit-Windows stellt sich löste einige Verwirrung aus. Während die Dokumentation nahelegt, dass long in dieser Umgebung tatsächlich 64-Bit ist, ist die Realität differenzierter.

Im Bereich von Unix-Systemen gibt es verschiedene Anordnungen für Ganzzahl- und Zeigergrößen auf 64-Bit-Plattformen, hauptsächlich ILP64 und LP64. Der Ansatz von Microsoft unterscheidet sich jedoch bei LLP64.

ILP64 vs. LP64

Type ILP64 LP64 LLP64
char 8 8 8
short 16 16 16
int 64 32 32
long 64 64 32
long long 64 64 64
pointer 64 64 64

Alle modernen 64-Bit-Unix-Systeme verwenden LP64, wobei long für 64-Bit steht. MacOS Folglich gilt auf 64-Bit-Windows-Systemen:

long und int bleiben 32-Bit groß

Neue Datentypen werden für 64-Bit-Ganzzahlen eingeführt

  • Plattformneutraler Code
  • Um plattformneutralen Code zu erreichen, wird empfohlen um Typen aus dem C99 zu verwenden; Header, der Folgendes bereitstellt:

int8_t bis int64_t für vorzeichenbehaftete Ganzzahlen

uintptr_t für vorzeichenlose Ganzzahlen zum Speichern von Zeigern

intmax_t für die größte Ganzzahlgröße auf der Plattform
  • Durch die Verwendung dieser Typen in Ihrem Code können Sie Anwendungen schreiben, die es sind unabhängig von den spezifischen Ganzzahlgrößen auf verschiedenen Plattformen.
  • Fazit

Während long auf Unix-Systemen normalerweise 64 Bit beträgt, bleibt es auf 64-Bit-Windows 32 Bit aufgrund des LLP64-Ansatzes von Microsoft. Durch das Verständnis der verschiedenen Ganzzahlgrößenkonventionen und die Verwendung plattformneutraler Typen können Entwickler Code erstellen, der mit einer Vielzahl von Systemen kompatibel ist.

Das obige ist der detaillierte Inhalt vonIst „long' unter 64-Bit-Windows wirklich 64-Bit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage