wahrscheinlich einen total einfache (dumme) Fragen: wie kann man 1GB allokieren? Ich weiß, dass ich zum allokieren die Funktion malloc benutzen muss. Aber was übergebe ich als Argument?
Für Gigabyte 1000000000, für Gibibyte (2^30 Byte) 1073741824 (oder 1 << 30).
Allerdings ist es nur selten ratsam, mit derart großen Speicherbereichen um sich zu werfen. Was hast du denn genau vor? -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Ich bekomme öfters eine out of memory exception. Und um das möglichst zu verhindern, soll Speicher zuerst allokiert und dann frei gegeben werden, um die Grenze zu verschieben..
Der Code ist richtig, wenn du 1 GB Speicher anfordern und wieder freigeben willst, aber Out-Of-Memory-Fehlern damit zu begegnen, große Mengen Speicher anzufordern, scheint mir zweifelhaftes Vorgehen zu sein. Außerdem: Was für eine "out of memory exception"? In C gibt es keine Exceptions. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra