Bonjour,
Je voudrais savoir si il existe un moyen d'adresser plus de 4 gigas de ram que permet Delphi pour des applications 64bits ou 32Bits(3 Gigas).
Merci.
Bonjour,
Je voudrais savoir si il existe un moyen d'adresser plus de 4 gigas de ram que permet Delphi pour des applications 64bits ou 32Bits(3 Gigas).
Merci.
A partir de Delphi XE... oui
En 32bits, tu seras limité à 2Go ou 3Go selon le commutateur en base de registre, même si une variable Delphi sera toujours limité à 2Go
En 64bits, le processus peut utiliser plus de RAM, mais j'ignore si la limite de la taille d'une variable s'applique ou non !
Suffit de faire le test suivant que j'ai repris de mon post sur Phidels
Ayant un poste de 4Go, je ne peux pas te dire si cela dépasse !
Edit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 procedure TFrmTestMemory.BtnPointerIntArray2GoClick(Sender: TObject); type TByteMatrix1024By1024 = array [0..1023, 0..1023] of Byte; // TByteMatrix1024By1024Array = array[0..2047] of ^TByteMatrix1024By1024; // 32Bit - 2Go TByteMatrix1024By1024Array = array[0..16383] of ^TByteMatrix1024By1024; // 64Bit - 16 Go, si tu as 8 To en stock, tu peux théoriquement les utiliser :mouarf: var Tableau: TByteMatrix1024By1024Array; I, K: Integer; begin //for I := 0 to 2047 do // 32Bit - 2Go for I := 0 to 16383 do // 64Bit - 16 Go begin try GetMem(Tableau[I], 1024*1024); K := I; except on E: Exception do begin ShowMessage(IntToStr(I)); Break; end; end; end; for I := K downto 0 do try FreeMem(Tableau[I]); except on E: Exception do OutputDebugString(PChar(Format('Free %d : %s', [K, E.Message]))); end; end;
Je viens de redémarrer, déjà 1,51 Go de bruit de fond de l'OS et autre
Trois essais :
32: Last Alloc 1793 à 1795
64: Last Alloc 10175 à 16383
Je ne sais pas comment il m'alloue 10Go avec seulement 4Go physique ? le swap ????
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci ShaiLeTroll,
j'arrive à utiliser 64gigas de RAM sur mes 96 gigas disponible !
Aucun doute que je peux en utiliser plus... :-)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager