Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Что бы почитать про выделение памяти (https://forum.antichat.xyz/showthread.php?t=115073)

_nic 09.04.2009 02:47

Что бы почитать про выделение памяти
 
Подскажите какую то доступную онлайн литературу.В которой были бы описано как правильно выделять память в куче(и в мультипоточных приложениях то же) ,какие бывают причины повреждения стека или кучи,как выявить повреждение кучи.Вообщем на такую вот тему.

LEE_ROY 09.04.2009 02:57

http://www.codersource.net/c++_dynamic_memory_allocation.aspx - english, внизу еще пара ссылок на мемори корапшн, тобиж повреждение .. вообще такая шняга в книгах по языку должна быть..

_nic 09.04.2009 11:05

Цитата:

Сообщение от LEE_ROY
http://www.codersource.net/c++_dynamic_memory_allocation.aspx - english, внизу еще пара ссылок на мемори корапшн, тобиж повреждение .. вообще такая шняга в книгах по языку должна быть..

А по серьезней есть литература?

Gar|k 09.04.2009 12:02

http://wasm.ru/publist.php?list=21#series_10

еще помню очупенную статью находил типа "организация памяти в win 3.11" найти не могу...

razb 09.04.2009 12:53

Цитата:

мультипоточных приложениях
В многопоточных приложениях выделение дин. памяти ничем не отличается от выделения в однопоточном приложении, исключая то что надо использовать синхронизацию(семафоры, мьютексы, условные переменные(вроде так называется=) ) что бы защитится от повреждения данных.
Вот и копай в эту сторону)

_nic 09.04.2009 13:03

Цитата:

Сообщение от razb
В многопоточных приложениях выделение дин. памяти ничем не отличается от выделения в однопоточном приложении, исключая то что надо использовать синхронизацию(семафоры, мьютексы, условные переменные(вроде так называется=) ) что бы защитится от повреждения данных.
Вот и копай в эту сторону)

Если есть потоки связанные с ГУИ и обращяющиеся к глобальным переменным выделенным в куче,то чаще всего такая ситуация заканчивается повреждением содержимого кучи :(

razb 09.04.2009 13:37

Цитата:

Если есть потоки связанные с ГУИ и обращяющиеся к глобальным переменным выделенным в куче,то чаще всего такая ситуация заканчивается повреждением содержимого кучи
Как я написал выше в такой ситуацие используются мьютексы, которые блокируют данные и разрешают доступ только одному потоку который их захватил в это время. Можешь погуглить на эту тему в инете море инфы

Gar|k 09.04.2009 18:29

Читай про "критические секции"... таже помню некоторые стандартные API функции типа LocalLock (http://www.podgoretsky.com/ftp/Docs/...LocalLock.html - там внизу есть ссылки очень полезные на доки...)

как сказал razb многопоточность надо синхронизировать. Читай про EVENT-ты (CreateEvent, SetEvent, WaitForSingleObject)

_nic 09.04.2009 22:50

Синхронизация к сожалению не всегда помагает.


Время: 12:41