jaką pojemność ma sterta?

0

poznaję obecnie krok po kroczku C++ i doszedłem właśnie do wskaźników; mam pytanko: czy sterta zawiera się tylko w podstawowych 640Kb (tak jak w Pascalu) pamięci czy dotyczy też pamięci rozszerzonej?
Jak to jest? [???]

zwykły user

marcel_pirat44@poczta.onet.pl

0

Jeśli piszesz dla trybu rzeczywistego to masz tylko do dyspozycji te 640kb (troszkę mniej/lub też troszkę więcej - niezależnie od kompilatora). Jeżeli potrzebujesz więcej danych to robisz sobie swapa albo w pliku alno w pamięci rozszerzonej (poprzez np. xms/ems). Jesli piszesz dla trybu chronionego, to znikaja jende ograniczenia (pamięć), a pojawiaja sie inne (chronione obszary pamięci... itp. blebleble ).

0

hehe ta wypowiedź wybiega nieco poza moje granice rozumowania... [wstyd]

  1. Skąd mam wiedzieć, że programuję w trybie rzeczywistym? Używam Visual C++ i wszystkie projekty to WIN32 Console Aplication;

  2. Co to jest SWAP?

  3. xms/ems użyte w tym kontekście zdania oznacza pliki nagłówkowe?

PZDR

0

Skoro używasz win32 i vc, to raczej piszesz dla trybu chronionego. A sprawdzić jest prosto... Po prostu spróbuj zaalokować 1mb pamięci. Jesli wyjdzie...

Co to jest swap? - proponuję zajrzeć do słownika języka angielskiego.

Xms/ems to standardy obsługi pamieci powyżej 1 mb.
Wpisz haslo na googlach (www.google.pl) : programowanie+xms albo programowanie+ems i wyskoczą tony materiałów.

0

VC i kazdy program w nim napisany to definitywnie i niepodwazalnie win32 i tryb chroniony pelna geba. A wiec do dyspozycji naszej mamy do 2GB samego RAMu (ofcoz jesli nie ma takowej fizycznej to system nam ja zemuluje :] pagefiles) a poniewaz nie ma takowego (znanego z trybu rzeczywistego ) podzialu na segmenty - jest tylko jeden o wielkosci 4GB (2nasze + 2 systemu) wiec przydzielic mozemy 2GB z niewielkimi ubytami jak granice pamieci procesu zarezerwowane przez system czy nasz program tam zmapowany do tych 2GB.

1 użytkowników online, w tym zalogowanych: 0, gości: 1