Dido D library

Dido is D library that provides easy way to load functions and classes from shared libraries at runtime.


Now Dido consists of three parts:


Library class allows to load shared libraries at runtime.


ClassLoader class allows to load classes from shared libraries and create their instances.


Reflector class allows to export structs from shared library. From application side reflected types can be handled by Reflection class.

Supported platforms

Dido was tested on the following platforms:

  • Debian jessie i686 with dmd and ldc2 (partially)
  • Windows 7 with dmd (works partially)


Documentation can be generated with the next command: dmd -c dido/*.d -D candydoc/candy.ddoc candydoc/modules.ddoc


Dido uses Boost Software License

TODO list:

  • Make Dido crossplatform (should support FreeBSD, Linux, Mac OS X and Windows)
  • Support all popular D compilers (dmd, gdc, ldc and, maybe, sdc).
  • Provide tests for each supported platform and compiler.
  • Make good documentation and Wiki
  • Implement elf-parser.
  • Make it possible to load functions from object files.