eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Windows - alokowanie pamięci.
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2017-12-04 08:05:18
    Temat: Windows - alokowanie pamięci.
    Od: "Andrzej W." <a...@w...pl>

    Cześć,

    Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.
    Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania,
    została ona odjęta od tego co pokazuje GetPerformanceInfo w
    PhysicalAvailable?
    Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i
    czytam po bajcie z każdej strony.

    --
    AWa.


  • 2. Data: 2017-12-04 13:29:24
    Temat: Re: Windows - alokowanie pamięci.
    Od: s...@g...com

    > Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.

    Ok. Pytanie pomocnicze: Jaki język?!?

    > Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania,
    > została ona odjęta od tego co pokazuje GetPerformanceInfo w
    > PhysicalAvailable?

    W C++ operator new, np:
    char* lZmienna = new char[ROZMIAR];

    > Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i
    > czytam po bajcie z każdej strony.

    No i co to daje?!?


  • 3. Data: 2017-12-04 17:47:11
    Temat: Re: Windows - alokowanie pamięci.
    Od: bartekltg <b...@g...com>

    On Monday, December 4, 2017 at 1:29:26 PM UTC+1, s...@g...com wrote:
    > > Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.
    >
    > Ok. Pytanie pomocnicze: Jaki język?!?
    >
    > > Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania,
    > > została ona odjęta od tego co pokazuje GetPerformanceInfo w
    > > PhysicalAvailable?
    >
    > W C++ operator new, np:
    > char* lZmienna = new char[ROZMIAR];

    Pewien jesteś, że jak ROZMIAR to dużo i nie dotkniesz wszstykich stron,
    to one będą rzeczywiście zarezerowowane w pamięci fizycznej?
    Wydaje mi się, że windows też przydziela strony leniwie, gdy są potrzebne.


    > > Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i
    > > czytam po bajcie z każdej strony.
    >
    > No i co to daje?!?

    OS ruszy tyłek i rzeczywiście da tę pamięć.

    BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
    nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)

    pzdr
    bartekltg


  • 4. Data: 2017-12-04 20:37:02
    Temat: Re: Windows - alokowanie pamięci.
    Od: "Andrzej W." <awa_wp@na_wp_oczywiscie.pl>

    W dniu 2017-12-04 o 17:47, bartekltg pisze:
    > BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
    > nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)

    W wypadku W10 odczyt wystarczył.
    Ale masz rację MEM_COMMIT gwarantuje, że pamięć jest zerowana więc sam
    odczyt teoretycznie nie zmusza systemu do przydzielenia dla tej zmiennej
    jakiejkolwiek pamięci fizycznej.

    --
    AWa.


  • 5. Data: 2017-12-04 22:26:21
    Temat: Re: Windows - alokowanie pamięci.
    Od: "AK" <n...@n...net>

    Użytkownik "Andrzej W." <awa_wp@na_wp_oczywiscie.pl> napisał:
    >W dniu 2017-12-04 o 17:47, bartekltg pisze:
    >> BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
    >> nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)
    >
    > W wypadku W10 odczyt wystarczył.
    > Ale masz rację MEM_COMMIT gwarantuje, że pamięć jest zerowana więc sam odczyt
    teoretycznie nie
    > zmusza systemu do przydzielenia dla tej zmiennej jakiejkolwiek pamięci fizycznej.

    ...a nie wystarczy/pomoze "standardowe" sbrk() ?

    AK

strony : [ 1 ]



Szukaj w grupach

Szukaj w grupach

REKLAMA

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.