Dynamic Memory

By using dynamic memory the following limitations of static memory are completely eliminated.


Overview of Problems with Dynamic Memory

Because the dynamic memory approach most operations are transferred to run time and can therefore not be verified by the compiler. To master the handling of dynamic memory different libraries were developed to support the programmer to supplement the compiler, as it can only detect problems and errors at compile time.

In the following we present an overview of problems often encountered when dealing with dynamic memory allocation. The arrangement is closely related to the problems discussed in the lecture Programmieren 2. The corresponding source files can be found under the menu entry: Test Programs

The following programs and libraries are introduced which support the programmer:

The features of these programms to detect errors in our test programs are summarized next:

Checker Error 01 Error 02 Error 03 Error 04 Error 05 Error 06.1 Error 06.2 Error 07 Error 08
DUMA missing missing missing OK missing OK OK missing OK
valgrind OK OK OK OK can't OK OK OK OK


This page was inspired by http://www.cs.utexas.edu/users/jpmartin/memCheckers.html