ne permet pas d'augmenter le stacksize au-dela de 65536 kbytes!
Ca me pose un gros probleme pour faire un tourner un code scientifique
(sur un G5 Quad, OSX 10.4.3).
Il n'y a pas ce genre de limitation sous d'autres plateformes unix.
Quelqu'un aurait-il une solution, ou saurait-il pour quelle raison il y
a un telle limitation?
J'ai bien peur qu'il tombe sur la même limitation pour la taille totale des variables statiques. Vrai ou faux ?
Faux.
Tu peux faire le test (2 ou 3 lignes de codes devraient facilement te convaincre).
Bref (et pour résumer) :
- variable auto => pile - variable static => tas
Voilà, plus la peine d'avoir peur. ;-)
-- Jacques.
"Quand la merde vaudra de l'or, le cul des pauvres ne leur appartiendra plus." [Henry Miller]
Eric Levenez
Le 5/01/06 12:41, dans , « G. Alecian » a écrit :
La commande terminal:
"limit stacksize unlimited"
ne permet pas d'augmenter le stacksize au-dela de 65536 kbytes!
Oui.
Ca me pose un gros probleme pour faire un tourner un code scientifique (sur un G5 Quad, OSX 10.4.3).
Souvent les codes scientifiques sont écrits par des gorets fous de l'immonde alloca.
Il n'y a pas ce genre de limitation sous d'autres plateformes unix.
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile ne servirait pas ainsi d'espace de stockage.
Quelqu'un aurait-il une solution, ou saurait-il pour quelle raison il y a un telle limitation?
C'est une constante appelée MAXSSIZ dans les sources de Darwin qui vaut "64*1024*1024" sur PPC et "64*1024*1024 - 7*4*1024" sur i386. Pour avoir une plus grande pile, il faut recompiler le noyau xnu de Mac OS X.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 5/01/06 12:41, dans <user-FB674B.12415205012006@upsn250.cri.u-psud.fr>,
« G. Alecian » <user@obspm.fr.nonvalid> a écrit :
La commande terminal:
"limit stacksize unlimited"
ne permet pas d'augmenter le stacksize au-dela de 65536 kbytes!
Oui.
Ca me pose un gros probleme pour faire un tourner un code scientifique
(sur un G5 Quad, OSX 10.4.3).
Souvent les codes scientifiques sont écrits par des gorets fous de l'immonde
alloca.
Il n'y a pas ce genre de limitation sous d'autres plateformes unix.
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile
ne servirait pas ainsi d'espace de stockage.
Quelqu'un aurait-il une solution, ou saurait-il pour quelle raison il y
a un telle limitation?
C'est une constante appelée MAXSSIZ dans les sources de Darwin qui vaut
"64*1024*1024" sur PPC et "64*1024*1024 - 7*4*1024" sur i386. Pour avoir une
plus grande pile, il faut recompiler le noyau xnu de Mac OS X.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
ne permet pas d'augmenter le stacksize au-dela de 65536 kbytes!
Oui.
Ca me pose un gros probleme pour faire un tourner un code scientifique (sur un G5 Quad, OSX 10.4.3).
Souvent les codes scientifiques sont écrits par des gorets fous de l'immonde alloca.
Il n'y a pas ce genre de limitation sous d'autres plateformes unix.
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile ne servirait pas ainsi d'espace de stockage.
Quelqu'un aurait-il une solution, ou saurait-il pour quelle raison il y a un telle limitation?
C'est une constante appelée MAXSSIZ dans les sources de Darwin qui vaut "64*1024*1024" sur PPC et "64*1024*1024 - 7*4*1024" sur i386. Pour avoir une plus grande pile, il faut recompiler le noyau xnu de Mac OS X.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Kojak
il y a 3 types de memoire
statique pile tas
Heu !
En ce qui me concerne, je parlerais plutôt de classes de stockage, mais bon...
Sinon, il y a les classes register, auto, static, externe, volatile et const (si j'en oublie pas).
On imagine bien le tas limité par l'adressage, mais les deux autres?
Lesquelles ? :-) Sinon, je dirais au hasard... par la taille du swap.
-- Jacques.
"Quand la merde vaudra de l'or, le cul des pauvres ne leur appartiendra plus." [Henry Miller]
il y a 3 types de memoire
statique
pile
tas
Heu !
En ce qui me concerne, je parlerais plutôt de
classes de stockage, mais bon...
Sinon, il y a les classes register, auto, static,
externe, volatile et const (si j'en oublie pas).
On imagine bien le tas limité par l'adressage, mais les deux autres?
Lesquelles ? :-) Sinon, je dirais au hasard... par
la taille du swap.
--
Jacques.
"Quand la merde vaudra de l'or, le cul des pauvres
ne leur appartiendra plus." [Henry Miller]
Le 5/01/06 19:40, dans <dpjp70$sbj$, « Kojak » a écrit :
il y a 3 types de memoire
statique pile tas
Heu !
En ce qui me concerne, je parlerais plutôt de classes de stockage, mais bon...
Sinon, il y a les classes register, auto, static, externe, volatile et const (si j'en oublie pas).
Il manque typedef. De plus volatile et const, sont en fait des "type qualifiers", comme restrict.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Eric Levenez
Le 5/01/06 20:32, dans <dpjs7g$tid$, « Kojak » a écrit :
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile ne servirait pas ainsi d'espace de stockage.
Bah ! Probablement d'anciens aficionados de la HP-41CV, reconvertis au Basic ou au Fortran... :-D
Meu non ! J'avais une HP-41C hackée en CV à coup de fer à soudé, et j'ai pas mal pratiqué le Basic et le Fortran, mais malgré cela (ou grâce à cela), je sais gérer correctement la mémoire dans mes programmes.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 5/01/06 20:32, dans <dpjs7g$tid$1@biggoron.nerim.net>, « Kojak »
<mcspy@janville.Borg.invalid> a écrit :
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile
ne servirait pas ainsi d'espace de stockage.
Bah ! Probablement d'anciens aficionados de la
HP-41CV, reconvertis au Basic ou au Fortran... :-D
Meu non ! J'avais une HP-41C hackée en CV à coup de fer à soudé, et j'ai pas
mal pratiqué le Basic et le Fortran, mais malgré cela (ou grâce à cela), je
sais gérer correctement la mémoire dans mes programmes.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Le 5/01/06 20:32, dans <dpjs7g$tid$, « Kojak » a écrit :
Si seulement les programmeurs apprenaient à bien écrire leur code, la pile ne servirait pas ainsi d'espace de stockage.
Bah ! Probablement d'anciens aficionados de la HP-41CV, reconvertis au Basic ou au Fortran... :-D
Meu non ! J'avais une HP-41C hackée en CV à coup de fer à soudé, et j'ai pas mal pratiqué le Basic et le Fortran, mais malgré cela (ou grâce à cela), je sais gérer correctement la mémoire dans mes programmes.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Vincent Lefevre
Dans l'article <dpjp70$sbj$, Kojak écrit:
il y a 3 types de memoire
statique pile tas
Heu !
En ce qui me concerne, je parlerais plutôt de classes de stockage, mais bon...
Sinon, il y a les classes register, auto, static, externe, volatile et const (si j'en oublie pas).
C'est différent: en C, il n'y a pas de concept de pile. Cf les discussions sur f.c.l.c.
Les types de mémoires sont liés à l'OS (je dis bien l'OS, pas le noyau).