Skip to main content


developerWorks  >  AIX and UNIX | Linux  >

Building your own memory manager for C/C++ projects

developerWorks

Level: Intermediate

Arpan Sen (arpan@syncad.com), Technical lead, Synapti Computer Aided Design Pvt Ltd
Rahul Kumar Kardam (rahul@syncad.com), Senior Software Developer, Synapti Computer Aided Design Pvt Ltd

19 Feb 2008

Register now or sign in using your IBM ID and password.

Performance optimization of code is serious business. It's fairly common to see a piece of functionally correct software written in C or C++ that takes way too much memory, time, or, in the worst case, both. As a developer, one of the most powerful tools that C/C++ arms you with to improve processing time and prevent memory corruption is the control over how memory is allocated or deallocated in your code. This tutorial demystifies memory management concepts by telling you how to create your very own memory manager for specific situations.

Objectives

In this tutorial, you'll learn what considerations you need to take before designing a memory manager, the specific techniques available for creating such a memory manager, and, finally, the method for creating it. You'll also learn about the advantages and disadvantages of various types of memory manager designs.

Prerequisites

This tutorial is written for Linux® or UNIX® programmers whose skills and experience are at a beginning to intermediate level. You should have a general familiarity with using a UNIX command-line shell and a working knowledge of the C/C++ language. Any additional knowledge of internal workings of routines such malloc, calloc, free, memcpy, and memset (that is, routines that deal with memory allocation, deallocation, and content modification) is a plus.


System requirements

To run the examples in this tutorial, you need a Linux or UNIX box that has the g++ compiler toolchain installed on it. A sufficiently large amount of RAM (approximately 256 MB) is also required.



Duration

2 hours


Formats

html, pdf


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!


Back to top


Document options

Document options requiring JavaScript are not displayed


My developerWorks needs you!

Connect to your technical community