Self-manage data buffer memory in C

dk 158 Jan 11, 2004 at 21:48

I came accross this article and found it to be interesting. Here’s it’s summary:

The C programming language defines two standard memory management functions: malloc() and free(). C programmers frequently use those functions to allocate buffers at run time to pass data between functions. In many situations, however, you cannot predetermine the actual sizes required for the buffers, which may cause several fundamental problems for constructing complex C programs. In this article, Xiaoming Zhang advocates a self-managing, abstract data buffer. He outlines a pseudo-C implementation of the abstract buffer and details the advantages of adopting this mechanism.

2 Replies

Please log in or register to post a reply.

DrunkenCoder 101 Jan 12, 2004 at 10:54

The idea was nice but the execution was quite horrible.
Really a C program using that approach would be slower sometimes a lot so compared to an eqvivalent C++ program using std::vector so really it needs quite some work.

anubis 101 Jan 12, 2004 at 17:22

it’s not really complete in it’s design. you’d have to extend it’s functionality somewhat to make it useful…