Gast
#1749121
Guten Abend, ich hätte eine Frage bezüglich Heap und Stack; ich verwender malloc für einen FIFO Buffer. Wird der FIFO langsamer geleert als gefüllt wächst der Heap vom unteren Adressbereich natürlich immer weiter an in Richtung Stack, bis schließlich malloc 0 zurück gibt. Woher weiß aber malloc wann Schluss ist? Die Größe des Stacks kann malloc nicht kennen und es darf auch nicht bis zum oberen Ende gehen, weil irgendwo definitiv der Stack beginnt. Ich gehe daher davon aus, dass irgendwo definiert sein muss wie weit der Heap wachsen darf. Ist das richtig, und wenn ja wo, und vor allem wie kann ich den Wert ggf anpassen? Und was passiert eigentlich wenn der Heap den Stack küsst aber noch mehr auf den Stack muss? Überschreibt der Stack einfach gnadenlos meinen Heap oder weiß der Stack dass darunter Speicher vergeben ist und wenn letzteres was passiert dann? Sorry für die vielen Fragen, aber das interessiert mich gerade wirklich brennend! Gruß Stefan