notes92

notes92 - DYNAMIC MEMORY MANAGEMENT Explicit memory...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: DYNAMIC MEMORY MANAGEMENT Explicit memory management • Uses malloc/new to allocate • Uses free/delete when the object is no longer in use • Used in C, C++, Pascal, etc. • Prone to bugs • Premature free freeing too soon int *p = new int; *p = s; delete p; *p = 4; The program may crash when memory is allocates again since the allocation my return the same memory that is still in use. One way of preventing premature frees during debugging is commenting frees. 1. Uncomment the frees until you find the premature free. 2. Premature frees will make your program crash most of the time. • Not freeing memory memory leak This is not as serious of a problem. The memory requirements (memory footprint) may grow and grow until the program no longer fits in RAM and the OS will start swapping in/out to disk. This slows sown the execution of the program. If the memory footprint is larger than the RAM and swapspace, malloc/new will return 0/NULL. After this, you need to restart the program. Memory leaks are bad for long living programs. If you have to choose, choose a memory leak....
View Full Document

This note was uploaded on 02/02/2012 for the course CS 251 taught by Professor Staff during the Fall '08 term at Purdue.

Page1 / 5

notes92 - DYNAMIC MEMORY MANAGEMENT Explicit memory...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online