A Garbage Collector For the C Programming Language
Garbage collection absolves the developer from tracking memory usage and knowing when to free memory. If unreferenced locations are not collected, they pollute the memory and may lead to exhaustion of available memory during the execution of the program. Garbage collection (GC) is an important part of many modern language implementations. The benefits of garbage collection in comparison with manual memory management techniques are well known to programmers who have used high-level languages like Java and C#. Software professionals estimate that the programming effort required to manually perform dynamic memory management is approximately 40% of the total cost of developing a large software system. Unfortunately, these benefits have not traditionally been available to developers in ‘C’ programming language because of the lack of support for the GC feature.