przydzielanie pamięci spoza sterty

0

Cześć ;)
Czy jest możliwe w jakiś sposób zaalokować pamięć poza stertą ( i stosem oczywiscie, ale tu dziwnie brzmi alokacja) i przekazać wskaźnik na tą pamięć do hm.... C++? Właściwie powinienem powiedzieć środowiska uruchomieniowego czymkolwiek to jest.
Wtedy jednak trzebabyło by to jakoś specyficznie robić, bo przecież nie wystarczy przekazać wskaźnik. Musi być też wiadomo, gdzie się kończy pamięć, czy jest w trybie do odczytu itd.
pozdrawiam.

0

Ale sterta to jest dostepny ram ktory OS Ci dal. Nie ma wiecej.
Jezeli chcesz nadpisac jakas wartosc lub w jakies konkretne miejsce miec wskaznik i zmienic wartosc, to tak da sie.
http://4programmers.net/Forum/859114 jak np tutaj

1

Można użyć pamięci dzielonej, wtedy teoretycznie masz dostęp do pamięci spoza sterty i stosu aktualnego procesu.

0

Jest. Sterta to tylko pewna pula pamięci automatycznie zarządzana przez RTL (czy jak to tam się nazywa w C/C++).
Takich pól możesz mieć kilka rodzajów.

W szczególności, nawet w typowej aplikacji biznesowej możesz sobie zaalokować pamięć ze sterty, stosu lub pamięci dzielonej a potem traktować ją jako swoją pulę.

Jak wywołać konstruktor dla dowolnego bloku pamięci (in-place new):
http://www.gotw.ca/publications/mill15.htm

Coś w temacie pamięci dzielonej:
http://www.boost.org/doc/libs/1_56_0/doc/html/interprocess/allocators_containers.html

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