[quote=esskar,25.03.2006, 02:59][quote=Relais,24.03.2006, 21:22]Können Programme während ihrer Laufzeit Speicher an das OS zurückgeben? Wie geht das?[/quote]
ich kann jetzt nur von windows sprechen:
ein prozess hat - egal wieviel RAM der computer hat - 2 GB virtuellen speicher (RAMD + SWAP). Diesen kann er beliebig nutzen.
Unter C/C++ kann man zwischen zwei Arteb von Speicher unterschienden. Code-Speicher und Stack-Speicher (@Ronnie: in uralt C Zeiten kannte man Heap noch gar nicht)
eine
belegt z.b. 512 bytes vom code speicher, wobei ein
char *var = new char[512]
512 bytes auf dem stack belegt. Code-speicher kann man nicht - zumindeest nicht durch anschupsen - an das OS wieder zurück geben. Speicher Stack schon, und zwar mit
.
[...][/quote]
Irgendwie finde ich deine Definition von Stack ausgemacht merkwürdig. Und deine Definition von Code würde ich auch lieber "statische Daten" nennen.
Es ist meines Erachtens schon sinnvoll, zwischen statisch gemappten Daten, automatisch gemapptem Stack und programmgesteuert gemapptem Heap zu unterscheiden.
When C++ is your hammer, every problem looks like your thumb.