arbeitsspeicher reservieren
-
mit new geht das
-
man kann also einfach sagen:
"gib mir 50 mb ram" und dann reserviert windows das?
-
was meinst du mit "im voraus?"
Du könntest einen großen Block Arbeitsspeicher am Anfang allokieren und dann als pool nehmen. Siehe die zahlreichen pool-allocatoren (zb in libstdc++ oder boost)
-
ich denke mir das ( als blutiger c++ anfänger ) so:
das programm reserviert sich den speicher, den es für sich braucht.
ich dachte nur über die möglichkeit nach, das man meinetwegen am anfang sagt: ich will 20 mb ram haben und die solln die ganze laufzeit des programms da sein egal ob (sinnvoll vom programm ) beschrieben oder nicht.
es geht nich unbedingt um die sinnvolligkeit dieses vorhabens, sondern es geht mir um die möglichkeit
-
Klar geht das:
char* block = new char[ ( 1 << 20 ) * 20 ];
-
David_pb schrieb:
Klar geht das:
char* block = new char[ ( 1 << 20 ) * 20 ];Zwar definiert der C++ Standard, dass block nun auf ein großes kontinuierliches Stück Speicher zeigt, um aber wirklich sicher zu sein, müsste man erst mal auf jedes Array-Element schreibend zugreifen. Gibt schließlich Betriebssysteme die "lazy-commit" verwenden.
-
was ist wenn er mal mit integer, mal mit double, float arbeiten möchte? geht doch nicht alles in char?
-
hä schrieb:
was ist wenn er mal mit integer, mal mit double, float arbeiten möchte? geht doch nicht alles in char?
klar geht das.
-
thordk schrieb:
hä schrieb:
was ist wenn er mal mit integer, mal mit double, float arbeiten möchte? geht doch nicht alles in char?
klar geht das.
ist ja auch c++, da geht alles.
Was soll das ganze bringen? Lern lieber erst richtig programmieren.
-
hat kein sinn schrieb:
thordk schrieb:
hä schrieb:
was ist wenn er mal mit integer, mal mit double, float arbeiten möchte? geht doch nicht alles in char?
klar geht das.
ist ja auch c++, da geht alles.
Was soll das ganze bringen? Lern lieber erst richtig programmieren.
dein nick ist programm, oder?
-
HumeSikkins schrieb:
...um aber wirklich sicher zu sein, müsste man erst mal auf jedes Array-Element schreibend zugreifen. Gibt schließlich Betriebssysteme die "lazy-commit" verwenden.
ein byte pro page zu beschreiben müsste reichen

OP: falls du für windows programmierst --> http://msdn2.microsoft.com/En-US/library/aa366887.aspx