AllocateMemory u MemoryStatus gibt negativen Wert zurück x86

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
walbus
Beiträge: 137
Registriert: 03.03.2013 20:50

AllocateMemory u MemoryStatus gibt negativen Wert zurück x86

Beitrag von walbus »

:)
Zuletzt geändert von walbus am 07.02.2015 23:28, insgesamt 1-mal geändert.
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: AllocateMemory u MemoryStatus gibt negativen Wert zurück

Beitrag von Omi »

Hallo walbus,
laufen Deine Programme trotz negativem AllocateMemory?
Wenn ja:
Da es (meist) nix anderes gibt lagen Speicheradressen im Basic schon immer in 'signed' Integers. (32-Bit auf x86, 64-Bit auf x64)

Falls der angeforderte Speicher in einem Bereich liegt in dem das höchste Integer-Bit gesetzt ist, interpretiert dies das Basic für Ausgaben (insbes. Debug !!!) und Weiterverarbeitung stets als negativer Wert.
Der tatsächliche Wert des Integers im Speicher ist jedoch 'unsigned' und kann ohne Gedanken für die Speicheradressierung weiterverwendet werden.

Darum gelungene Speicherallozierung immer auf <> 0 und nicht > 0 abfragen!

Ich bekomme unter Xubuntu 32-Bit 13.10 + 14.04 z.B. für MemoryStatus(#PB_System_TotalPhysical) oder MemoryStatus(#PB_System_FreePhysical) auch negative Werte per Debug.

Dir und den allen Forumsmitgliedern ein schönes neues Jahr

Charly
PureBasic Linux-API-Library: http://www.chabba.de
Antworten