Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.20.56] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Во-первых, иногда между кучей процесса и функциями вроде malloc стоит посредник. Во-вторых, выделение памяти - не атомарная операция. Если уж непотокобезопасна операция простого увеличения переменной вроде:
a += 2; Это изменит многое. см. выше. |
Сообщ.
#17
,
|
|
|
trainer,
это Вы зря. Все виндовые xAlloc() тщательно тестируются и полностью потокобезопасны. Не будет такого, чтобы двум одновременным потокам, вызывающим xAlloc() вернулся один и тот же указатель. Даже в случае многопроцессорности. |
Сообщ.
#18
,
|
|
|
Цитата gena_dj @ За пределами Microsoft жизни не существует? Все виндовые xAlloc() |
Сообщ.
#19
,
|
|
|
Сущствует конечно,
но на предыдущей странице почему-то фигурирует EnterCriticalSection() и LeaveCriticalSection() Про выделение памяти за пределами Microsoft не могу ничего сказать. |
Сообщ.
#20
,
Сообщение отклонено: B.V. -
|
Сообщ.
#21
,
|
|
|
Цитата gena_dj @ Не будет такого, чтобы двум одновременным потокам, вызывающим xAlloc() вернулся один и тот же указатель. Даже в случае многопроцессорности. В случае, если линкуемся с многопоточным рантаймом. Если же слинкуемся с обычным - здравствуй, лотерея. Сообщения были разделены в тему "Spam" |
Сообщ.
#22
,
|
|
|
Как раз про утечку памяти рассказывают почти исключительно адепты решётки и ей подобных. Наталкивает на мысль, что именно решётка и необходима, чтоб утечку организовать. Выделение и парное к нему освобождение памяти всегда делается в связке: написал закорючку для выделения, сразу учитываешь в освобождении. Как можно умудриться напороться на утечку? Хотя, я разок справился. Но на указателях, инкапуслированных в самую глубину. На плюсах. Странно было, что я в тот раз клаву с мышью не перепутал. Исправил после первого же теста. Без логов, профайлеров, с наглухо отвалившимся дебагером.
|