2014-02-10 3 views
-2

В наших кодах нашей компании много ошибок утечки памяти, и обычно наше решение - «Чтение кодов», хотя у нас есть инструменты для обнаружения места утечки памяти. Поэтому мне интересно, что утечка памяти неизбежна на C, или не стоит делать сборку мусора, чтобы пожертвовать производительностью системы.Неисправна утечка памяти в C

+3

Конечно можно избежать. –

+0

«Неисправность утечки памяти» - Нет. Контрпример, программа, которая печатает «мир привет» :) – Maroun

+1

Утечки памяти по существу всегда можно избежать. –

ответ

0

Всегда можно избежать утечек памяти, просто это может быть трудно сделать при ручном управлении памятью. По мере того, как программы становятся сложными, управление памятью становится сложнее. Вот почему вы видите, что многие крупные проекты реализуют какое-то автоматическое или полуавтоматическое управление памятью. Например, у GCC есть сборщик мусора, так как есть веб-браузеры с открытым исходным кодом, такие как Firefox и Chrome (я уверен, что у браузеров с закрытыми исходными кодами есть это, но это не так просто сказать).

Важно, чтобы автоматическое управление памятью не устраняло утечки памяти. Данные по-прежнему сохраняются без необходимости. Но автоматическое управление памятью облегчает работу и помогает избежать ошибок, таких как освобождение памяти в два раза или ссылка на уже освобожденную память.