Software libraries are suites of computer programs created for specific topics (communication, encoding, Interfacing, calculations, etc.).

You must see it as a subroutine (subprogram in the program) written by the programmer to handle repeating and complex parts of the code. The use of libraries extends the possibilities of the former subroutines. A large community of programmers has access to the libraries, either free or by paying for them. Those used for ODR-mmbTools are free (aren’t we are lucky?).

The library will extend to the used programming language by introducing new high-level instructions for specific purposes.

Instead of writing the specific code, the programmer can use existing libraries (from other programmers) on the subject. It will save him a lot of work. It speeds up software development because programmers can now reuse the work of other programmers. The programmer can concentrate on the nucleus of his source code instead of putting a lot of time into standard code, for instance for Interfacing and communicating via Serial interfaces, USB, TCP/IP, etc.

ODR-mmbTools source code contains several instructions and calls to libraries on specific topics. The most important are:

  • FDK AAC library (AAC library from Fraunhofer, including programs for AAC encoding)

  • ZeroMQ library contains the program code for the ZeroMQ sockets.

  • libVLC (plugins) (Engine and Interface to the multimedia framework of VLC)

FIG. – Library will be needed for compiling the source program

When the compiler translates the source code containing high-level language instructions, the source code may refer to libraries to provide the compiler with the information needed for these ‘standard’ high-level instructions.

Compiling source code containing high-level instructions related to a library can not be compiled without the library loaded in memory!

Libraries are a collection of pre-programmed instructions and data that extends the programming language for specific topics.

They are a fantastic tool for making programming easier.