Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Delphieigenes speichermanagement und "new"

  Alt 20. Jan 2005, 13:34
Wie so ziemlich jedem bekannt ist hat Delphi einen eigenen Speichermanager weshalb das hantieren zwischen DLL und Hauptprogramm ohne ShareMem mit strings nicht geht.

Desweiteren hab ich irgendwo gelesen das sich der Speichermanager immer größere Stücken speicher vom Betriebssystem anfordert und diese dann in der Anwendung bei Bedarf in kleinen Stücken bereitstellt.

Wie ist das jetzt wenn ich mit "new" speicher anfordere, bekomme ich dann speicher aus so einem größeren Speicherstück zugewiesen oder wird der speicher direkt von Windows angefordert? wenn der Speicher direkt von Windows kommt: in welcher DLL ist dann die "new" funktion - und wenn der Speicher nicht von Windows kommt: Gibts es in irgend einer Windows-DLL eine Funktion die mir speicher direkt vom betriebssystem holt (und wie heißt die DLL + Funktionsnamen)?

Hintergrund der Frage: Wenn man beim programmieren mit dem Speicher nicht gerade schonen umgeht, kann es vorkommen das eine Fehler "Out of Memory" kommt. Was jedoch keinen Sinn macht da schließlich andere Programm noch ohne Probleme laufen und die Auslagerungsdatei nicht ihr Maximum erreicht hat. Also theoretich müsste Windows noch genügend speicher zur Verfügung haben und trotzdem bringt mir eben die Anwendung besagten Fehler..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat