Avatar billede penta Nybegynder
06. oktober 2003 - 18:40 Der er 13 kommentarer og
1 løsning

at holde styr på pladsen i den virtuelle hukommelse

Er der en nem måde at holde styr på, hvor meget plads af den virtuelle hukommelse jeg bruger ?
Avatar billede arne_v Ekspert
06. oktober 2003 - 18:53 #1
Brug:
  AllocMemSize
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:07 #2
Eksempel:

program Mem;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  big = array [1..1000000] of char;

var
  p1,p2 : ^big;

begin
  writeln(AllocMemSize);
  new(p1);
  writeln(AllocMemSize);
  new(p2);
  writeln(AllocMemSize);
end.

output:

1760
1001760
2001760

hjvilket jo ser meget logisk ud.
Avatar billede penta Nybegynder
06. oktober 2003 - 19:16 #3
Returnerer den hvor meget plads jeg benytter i programmet?
Hvordan ved jeg, hvor meget plads der er tilbage i den virtuelle hukommelse?
Hvilke parametre benyttes til AllocMemSize?
Avatar billede penta Nybegynder
06. oktober 2003 - 19:17 #4
ok
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:18 #5
Den indeholder total forbrug.
Avatar billede penta Nybegynder
06. oktober 2003 - 19:27 #6
ok hvilke enheder er tallene af...1760 byte ?
...og der er plads til hvor meget ?
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:30 #7
Det er bytes der er brugt.
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:32 #8
Det er ikke til at sige eksakt hvor meget du kan allokere, fordi
pladsen i page fil deles med andre processer.
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:33 #9
Og hvis du kører med en page fil der kan udvides automatisk så er
det endnu mere flydende.
Avatar billede penta Nybegynder
06. oktober 2003 - 19:45 #10
det vil sige - hvis jeg laver et program, hvor der benyttes mange variable, pointere og dynamiske tabeller, så er der i bund og grund kun én måde at teste om programmet kan køre på, og det er ved at prøve lykken - køre programmet og se om det crasher ? 
...jeg ved intet om hvordan man kører med en page fil???
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:48 #11
Værre endnu: det kan måske køre mens det er ene om at køre, men går ned hvis
du har startet 4 andre applikationer.

Du kan ikke gøre andet end alle andre og lave dit program og skrive
i system requirements X MB RAM (kun til dit program) og så lade folk
fumle efter bedste evne.
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:49 #12
page fil er noget som alle Windows versioner 05/98/98SE/ME/NT3.1/NT3.5/NT4.0/2000/XP
bruger.
Avatar billede arne_v Ekspert
06. oktober 2003 - 19:50 #13
Hvis du gerne vil forsøge at checke lidt inden du komme rfor godt i gang med
dit program, så måler du hvor meget dit program maksimalt bruger.

Og ligger kode ind i starten af dit program der:
  allokerer denne mængde
  checker om det gik godt
  deallokarer igen
Avatar billede penta Nybegynder
06. oktober 2003 - 19:54 #14
jeg siger mange tak for hjælpen. du har virkelig hjulpet mig til at forstå meget bedre...indtil videre :))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester