PDA

Zobacz pełną wersję : Pamięć dynamiczna +



renf7
05-04-07, 00:23
Mam dość nietypowy problem. Zanim zaczne chciałem powiedzieć że korzysam z Borland Pascala 7.01

A oto problem: brakuje mi pamięci na zmienne dynamiczne. Funkcja memavail zwraca mi ok 280kb pamięci gdy nie napisałem jeszcze prawie nic.

Jednak podczas tworzenia drzewa rekordów pamięć momętalnie, bardzo szybko i "przyjemnie" ulatuje ... ;/

Co należałoby zrobić aby zmienne dynamiczne miały większą przestrzeń nie tylko 280kb , ale np ( co by mi znacznie ułatwiło sprawę ) z 32Mb ??

Słyszałem że z Borland Pascal 7 nie wyciągnie się wiecej niż 16Mb. Jeśli to proszę was napiszcie jak się do tego dobrać :wink:

POZDRAWIAM
Rafał

RRybak
05-04-07, 09:39
To żeś mi teraz wspomnienia przywołał. Z tego co pamiętam, takowe ograniczenia posiadał TurboPascal, ale BorlandPascal miał już takie cudo jak "tryb chroniony", gdzie mogłeś dojechać do 16MB, a wg niektórych źródeł nawet 64MB (nigdy nie miałem takich potrzeb ;)).

Na pewno odpalaj wersję "Borland", a nie "Turbo" i poszukaj w opcjach kompilatora wszystkiego co ma w nazwie "Protected" i "DPMI". I z tego co pamiętam, to do uruchamiania programów był potem potrzebny osobny EXE.

Najpierw sprawdź, ile pamięci uda Ci się "zajechać" w tym trybie. I używaj raczej własnych liczników - nie polegałbym zbytnio na MemAvail w trybie chronionym (nb. funkcje te są wycięte w ogóle w nowszych dystrybucjach Pascala).

Zefir_psv
06-04-07, 05:09
Jest jeszcze coś takiego jak drivery EMS i XMS. Jak masz je załadowane, to obsłużyć je w programie - nic trudnego. Masz dostęp do duuuużej ilości RAM-u.

BTW: Jeśli Twoja aplikacja potrzebuje tyle zasobów, to napisz 32-bitową aplikacje konsolową pod Win32...