Професионална програма
Loading...
Valleri avatar Valleri 301 Точки

Защо зачистваме ресурси преди да излезем от main() ?

Забелязах, че викаме функции от SDL, който Quit-ват библиотеки, като TTF или IMAGE или MIX, или зачистваме Window и други обекти.
Когато програмата излезе, това не се ли случва така или иначе понеже операционната система зачиства паметта ползвана от процеса.
Ако не се лъжа дори и файл да отвориш и да забравиш да го затвориш, ако програмата излезе, той ще си се "освободи" за да бъде ползван от други програми.

Мисля, че тези функции съществуват, за да можеш динамично, по време на приложението ти да спираш и пускаш дадени модули или прозорци, surface-и за да не се трупа излишна памет.

Тагове:
2
C++ Applications Development
MartinBG avatar MartinBG 3972 Точки

Към причините, написани от @j.petrov_90, ще добавя и още една.

Ако не освобождаваме ресурсите преди края на програмата, тулове като Valgrind ще ги отчетат като лийкнати, а това ще затрудни идентифицирането на "неочаквани" лийкове в лога.

3