Vous n'êtes pas identifié.
Les données classiques ds 1 prog sont stockées dans le segment de data.
Mais les variables dynamiques ? Elles vont ou ds la RAM ?
Je suppose qu'elles vont ds 1 autre endroit que ces variables "classiques".
Et si on utilise judicieusement en alternance ces 2 types de variables, on pourrait peut-etre arriver à gonfler la capacité des progs à stocker en RAM !?
Hors ligne
je pense pas ke c'est vrai L@rk,
la mémoire allouée dynamiquement est justement une partie de la mémoire dont dispose un programme normal c'est a dire une segment de 64K octets, pour te le prouver essaire d'allouer successivement des tableaux de 1000 octets par ex et surveille la valeur de retour de malloc (en C) et de new (en C++) si cette derniere vaut NULL alors le prog n'a plus assez de mémoire pour effectuer lallocation,
Ce ke tu veux dire par
Mais les variables dynamiques ? Elles vont ou ds la RAM ?
c'est kil est possible dallouerde la memoire en dehors du segment de 64 Ko du prog en utilisation des pointeurs Far* je pense , je vais vérifié ca et te repondre plus precisemment .
@+
y@ss
Hors ligne
serait-ce le debut d'une grande découverte qui va revolutionner le monde (de la G100....)???
Hors ligne
Non Whyp avait deja decouvert qu'il existait un packet de memoire aprés les 64 ko
Hors ligne
C'est peut-être pas une grande découverte mais au moins ca pourrait peut être résoudre bien des problèmes de mémoire insuffisante!
une partie de la mémoire dont dispose un programme normal
-> donc un prog aurait 1 segment de code, 1 segment de données et 1 segment de "mémoire dynamique" si g bien compris ?
Hors ligne
non en fait nos progs ne marchent ke dans un segment de memoire(64K)
voila comment est organisee generalement la memoire du prog:
Pile (stack)
--------------------
--------------------
Donnees
--------------------
--------------------
Code
quand il reste de la place dans la pile, on peut allouer de la memoire...
l'allocation de memoire passe generallement par les interruptions du DOS,
donc ROM-DOS dans notre cas, ki ne gere k'un segment de memoire pour le prog.
pour utiliser la memoire apres le prog(128 kilos qui demarrent en 2000h:0000h) il faut juste declarer des pointeurs far comme ca:
unsigned char far* c_juste_un_exemple = MK_FP(segment,offset);
Hors ligne
on est daccord mastermage, c'est exactement ce que je voulais dire plus haut!!
@+
y@ss
Hors ligne