Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PEEK

Gibt a zurück

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

numvar = PEEK([ datatype ,] address??? )
ansivar = PEEK$([STRINGZ,] address??? , count& )
widevar = PEEK$$([WSTRINGZ,] address??? , count& )

Beschreibung

Gibt a zurück

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die PEEK-Funktionen und ergänzenden POKE-Anweisungen sind Low-Level-Methoden für den Zugriff auf einzelne Bytes im Speicher. Die Daten werden aus dem Speicher abgerufen, beginnend bei der angegebenen 32-Bit-Adresse??? .

PEEK ruft einen numerischen Wert ab einer angegebenen Speicheradresse ab.

PEEK$ ruft count& aufeinanderfolgende Bytes ab und gibt sie als String zurück. Wenn STRINGZ (oder ASCIIZ) angegeben ist, liest PEEK$ aufeinanderfolgende Zeichen bis zur angegebenen Größe aus dem Speicher, bis ein abschließendes $NUL ( CHR$ (0))-Byte gefunden wird. Da STRINGZ-Zeichenfolgen ein abschließendes $NUL enthalten müssen, beträgt die maximale Länge der zurückgegebenen Zeichenfolge 1 Zeichen weniger als count&.

PEEK$$ ruft die Anzahl aufeinanderfolgender 2-Byte-Zeichen ab und gibt sie als Breitzeichenfolge zurück. Wenn WSTRINGZ angegeben ist, liest PEEK$$ aufeinanderfolgende Zeichen bis zur angegebenen Größe aus dem Speicher, bis ein abschließendes $NUL (CHR$(0))-Zeichen gefunden wird. Da WSTRINGZ-Zeichenfolgen ein abschließendes $NUL enthalten müssen, beträgt die maximale Länge der zurückgegebenen Zeichenfolge 1 Zeichen weniger als count& .

Getesteter PBXB64-Umfang: examples/basic/test_peek_poke_string.pb validiert PEEK$(address, count) als exaktes Bytezaehlungs-Lesen, dessen Laenge auch bei eingebetteten NUL-Bytes erhalten bleibt. tests/pb/test_peek_poke_wide_string.pb validiert PEEK$$(address, count) als exaktes Lesen von UTF-16-Codeunits und PEEK$$(WSTRINGZ, address, count) als NUL-terminiertes Lesen. Die Beispiele sind in tests/validate.toml registriert und laufen in der pb_linkrun-Lane.

Im Gegensatz zu intuitiven Vorstellungen werden PEEK und POKE auf dem gleichen hohen Leistungsniveau ausgeführt wie Zeigervariablen. Sie bieten in vielen Situationen eine hervorragende Alternative zu Zeigern.

Datentyp

Der abzurufende numerische Datentyp, der einer von BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , EXT , CUR , CUX sein kann. Wenn kein Datentyp angegeben ist, wird BYTE angenommen.

Adresse???

Eine gültige 32-Bit-Speicheradresse, die den Speicherort angibt, an dem der Datenabruf beginnen soll.

zählen&

Ein numerischer Ausdruck, der die Anzahl aufeinanderfolgender Zeichen angibt, die aus dem Speicher gelesen werden sollen.

Einschränkungen

Wenn Adresse??? (oder ein beliebiger Speicher im durch count& abgedeckten Bereich) auf eine ungültige Adresse verweist (Speicher, der der Anwendung nicht zugewiesen ist), generiert Windows eine allgemeine Schutzverletzung (GPF) und beendet die Anwendung. GPFs können nicht mit einem ON ERROR-Fehlerhandler abgefangen werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch