PpHd Le 20/06/2002 à 13:26 >Et sinon, la version propre, qui marche dans les 2 modes, c'est:
>void _main(void) {
>long (*Matrice)[36]=malloc((20*36)<<2);
C'est HYPER SALE DE FAIRE CA !
long (*Matrice)[36]=malloc((20*36*sizeof(long));
Si sizeof existe, ce n'est pas pour rien #grr#
>Ce n'est pas comme pour les librairies dynamiques, avec lesquelles utiliser une
>librairie dynamique pour une seule fonction est un gaspillage de place énorme
Enorme, enorme, enorme.
Aucun sens des realites.
La memoire RAM est largement suffisante pour acceuillir un programme et plusieurs libs dynamiques en meme temps. Plein de fonctions sont charges en RAM et ne servent a rien ? Et alors, y'a la place pour les charger quand meme !
si t'as le courage de telecharger XLib, t'as 3 tables de sinus 256,512 et 1024 en floats
(identité trigo pour passé au cos)
PpHd Le 21/06/2002 à 10:03 >Et la mémoire archive que la librairie dynamique gaspille?
Maintenant que c'est compresse, la place prise par toutes les libraries est bien limitee, non ?
>Et si le programme est exactement à la limite de mémoire disponible (par exemple Chrono Fantasy, SMA, Corridor92, ...) ?
Ces programmes utilisent plein de fonctions des librairies qu'ils utilisent.
Donc il n'y a pas de grosses pertes (< 1K).
PpHd Le 21/06/2002 à 15:35 Cela depend. Avec preos 0.58, on peut concevoir plein de libraries avec une seule fonction dans chaque, puis packe le tout et les compresses, donc ton argument ne tient plus.
Mais si tu utilises que la fonction (cas extreme) gl_wait_no_key de genlib, on peut dire que le programmeur n'exploite pas la lib. Ok, a l'execution ca prendra plus de place, mais je doute que le programme necessite quand meme toute la memoire. mettons qu'un tetris sorte et consomme 150 K de memoire vive. Je trouve que c'est demesure, pas pas que c'est du gaspillage.