ReinierMaas / memalloc

A simple memory allocator - Memory allocation 101

Home Page:http://arjunsreedharan.org/post/148675821737/write-a-simple-memory-allocator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

memalloc

memalloc is a simple memory allocator.

It implements malloc(), calloc(), realloc() and free().

####Article####

Write a simple memory allocator

(http://arjunsreedharan.org/post/148675821737/write-a-simple-memory-allocator)

####Compile and Run####

gcc -o memalloc.so -fPIC -shared memalloc.c

The -fPIC and -shared options makes sure the compiled output has position-independent code and tells the linker to produce a shared object suitable for dynamic linking.

On Linux, if you set the enivornment variable LD_PRELOAD to the path of a shared object, that file will be loaded before any other library. We could use this trick to load our compiled library file first, so that the later commands run in the shell will use our malloc(), free(), calloc() and realloc().

export LD_PRELOAD=$PWD/memalloc.so

Now, if you run something like ls, it will use our memory allocator.

ls
memalloc.c		memalloc.so

You can also run your own programs with this memory allocator.

About

A simple memory allocator - Memory allocation 101

http://arjunsreedharan.org/post/148675821737/write-a-simple-memory-allocator


Languages

Language:C 100.0%