Array Größe vs Vector größe?



  • Wenn du genug Speicher am Stück frei hast, kannst du auch ein paar GB auf einmal anfordern, ist gar kein Problem. Zeig vielleicht mal mehr Code, bzw. bastel mal ein Minimalbeispiel zusammen, das den Fehler aufweist, und das wir ohne großen Aufwand kopieren und testen können.

    Es muss nicht mal ein zusammenhängender Block sein, das ist ja der Sinn von virtuellem Speicher, dass der physische Speicher fragmentiert oder sogar ausgelagert sein kann.



  • Ethon schrieb:

    Wenn du genug Speicher am Stück frei hast, kannst du auch ein paar GB auf einmal anfordern, ist gar kein Problem. Zeig vielleicht mal mehr Code, bzw. bastel mal ein Minimalbeispiel zusammen, das den Fehler aufweist, und das wir ohne großen Aufwand kopieren und testen können.

    Es muss nicht mal ein zusammenhängender Block sein, das ist ja der Sinn von virtuellem Speicher, dass der physische Speicher fragmentiert oder sogar ausgelagert sein kann.

    Sicher, dass das auch für Allokationen mit new/malloc gilt? Ich meine, mal was gelesen zu haben, dass die einen zusammenhängenden Speicher im physisch vorhandenen Speicher brauchen, unabhängig davon, ob der Bereich später mal ausgelagert wird. Bin mir aber nicht wirklich sicher.



  • _matze schrieb:

    Ethon schrieb:

    Wenn du genug Speicher am Stück frei hast, kannst du auch ein paar GB auf einmal anfordern, ist gar kein Problem. Zeig vielleicht mal mehr Code, bzw. bastel mal ein Minimalbeispiel zusammen, das den Fehler aufweist, und das wir ohne großen Aufwand kopieren und testen können.

    Es muss nicht mal ein zusammenhängender Block sein, das ist ja der Sinn von virtuellem Speicher, dass der physische Speicher fragmentiert oder sogar ausgelagert sein kann.

    Sicher, dass das auch für Allokationen mit new/malloc gilt? Ich meine, mal was gelesen zu haben, dass die einen zusammenhängenden Speicher im physisch vorhandenen Speicher brauchen, unabhängig davon, ob der Bereich später mal ausgelagert wird. Bin mir aber nicht wirklich sicher.

    new/malloc setzen ja auf dem virtuellen Speicher auf, von daher brauchen die auf jeden Fall einen zusammenhängenden virtuellen Speicherblock. Ob der physisch zusammenhängt,können sie ja nicht wissen und es ist nicht relevant.
    Wenn das OS keinen so großen Block rausrückt ist natürlich Sense.


Anmelden zum Antworten