FreeType home page        

MLIB OVERVIEW

 

     What       Features       Requirements       Docs       Download       Projects       |        home page

 


DOCUMENT INDEX

What is the MLib ?

The MLib (pronounced "M-Lib") is a C software framework that significantly simplifies the development of highly reliable system-level libraries and programs (like daemons/services). It is small, efficient, robust and highly portable, and was designed primarily for embedded systems.

The MLib is released under its X11-style MLib license.

Features

The following is a non-exhaustive list of features provided by the MLib:

  • The MLib is re-entrant and doesn't use static writable data, which makes it ideal for a wide array of embedded systems (i.e., it can be run directly from ROM, even when shared by several applications). Additionally, it is thread-safe and can easily support any implementation of threads.

  • The MLib provides a simple and portable exception-handling system that allows you to write robust code, i.e. code that is capable of handling exceptional conditions like resources shortage safely (i.e. by automatically reclaiming temporary data when an exception is raised, in order to avoid leaks).

  • The MLib allows you to provide your own memory manager and i/o streams implementations. It is possible to use several streams implementations concurrently (and thus access ROM-based, memory-mapped, compressed and remote files with a unified API).

  • The MLib provides useful containers like hash tables, AVL trees, string dictionaries, etc.. in order to ease the development of sophisticated algorithms.

  • The MLib is capable of providing certain optional features on the platforms and/or compilers that support them; for example: 64-bit ints, endianess management, function inlining, etc..

MLib cons

The MLib is not a general-purpose application-support library. There are plenty of good alternatives that just do that excellently (the GLib for example). In short, don't use it to write applications.

On the other hand, if you need to write some important system-level library or tool, that needs to be robust and portable, give the MLib a try and see for yourself if it doesn't ease your programming. :-)

Don't forget that some of the MLib's design characteristics make it a bit more pedantic to use than alternatives. For example, the fact that it doesn't use static variables will make most C developers uneasy. Managing the exception cleanup stack is also something new to them.

Requirements

The MLib is written in industry-standard ANSI C and should compile easily with any compliant C compiler. We've even taken great care to eliminate all warnings when compiling with popular compilers like gcc, Visual C++ and Borland C++.

Apart from a standard ANSI C library, the MLib doesn't have any external dependencies and can be compiled and installed on its own on any kind of system.



     What       Features       Requirements       Docs       Download       Projects       |        home page

 
FreeType home page