8MB Grenze

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
wusu
Beiträge: 30
Registriert: 23.04.2003 14:36:05

8MB Grenze

Beitrag von wusu » 11.08.2003 03:32:01

Huhu,

folgendes:
//..
double bla[blub];
//..
Ist ne simple Anweisung und lässt sich mit GCC auch immer kompilieren.
Mein Problem ist nun, sobald dieses Feld an die 8MB kommt (oder größer) stürzt mein Programm ab, als Fehlermeldung kommt Speicherzugriffsfehler. Lösung ist nicht weiter tragisch, einfach mit new erzeugen und dann damit arbeiten.
Meine eigentliche Frage ist nun: warum kackt er bei 8MB ab ? Kann man das irgenwie ändern oder ist das einfach ein Linuxproblem ?

Benutzeravatar
Tobias
Beiträge: 7
Registriert: 13.06.2002 11:25:57

Re: 8MB Grenze

Beitrag von Tobias » 11.08.2003 08:12:02

Huhu,

folgendes:
//..
double bla[blub];
//..
Ist ne simple Anweisung und lässt sich mit GCC auch immer kompilieren.
Mein Problem ist nun, sobald dieses Feld an die 8MB kommt (oder größer) stürzt mein Programm ab, als Fehlermeldung kommt Speicherzugriffsfehler. Lösung ist nicht weiter tragisch, einfach mit new erzeugen und dann damit arbeiten.
Meine eigentliche Frage ist nun: warum kackt er bei 8MB ab ? Kann man das irgenwie ändern oder ist das einfach ein Linuxproblem ?
Ich denke, dass es ein gcc-Problem ist. Jeder Compiler hat nur begrenzt viel Platz um Variablen auf dem Stack anzulegen, während das Anlegen mit new, malloc den geamten Addressraum des Programms ausnutzen kann.

Gruß Tobias[/quote]

Olaf Dietsche
Beiträge: 520
Registriert: 12.06.2003 23:18:50
Wohnort: Siegburg

Beitrag von Olaf Dietsche » 11.08.2003 11:54:53

Du kannst mit ulimit die Stackgröße anpassen. Mit

Code: Alles auswählen

ulimit -s
siehst du die aktuelle Einstellung und mit

Code: Alles auswählen

ulimit -s 100000
kannst du sie vergrößern.

Antworten