Click here to Skip to main content
15,891,136 members
Articles / Programming Languages / C++

DynObj - C++ Cross Platform Plugin Objects

Rate me:
Please Sign up or sign in to vote.
4.95/5 (34 votes)
27 Sep 200727 min read 144.1K   3.4K   132  
DynObj is an open source library that provides a C++ application with run-time class loading facilities
DynObj - 0.51
-------------
The library provides supports for run-time loaded plugin classes in C++.

The compiler used to build the plugin can be different than the compiler
used for the main application. 

It provides object instantiation and run-time casts that work across compiler 
and DLL/SO boundaries.

The library is written in portable C++ to 99%. The remaining 1% is a 
minimalistic platform layer, to handle dynamic libraries, threading and
synchronization for a particular platform. 

The releationship between an application and a plugin is a loose one, 
defined by one or several interface classes (ordinary C++ headers). 

The end result is plugin class libraries that are binary reusable between  
different applications and compilers on the platform they're built for.
If the plugin in itself is portable, it can be recompiled used on another
platform.


Building:
---------

- src/dynobj/makefile 
  A cross-platform GNU makefile is provided in the src/dynobj folder 
  (also works for mingw/gcc on Windows). 

- src/dynobj/msdev/DynObj-Samples.sln
  For Windows, a Visual C++ solution file is in the src/dynobj/msdev 
  folder. 

DynObj currently builds on 32-bit Windows and Linux.


Documentation:
--------------
doc/DynObj-intro.html    An article that describes the background of the 
                         problem and how DynObj implements a solution.
doc/doxygen/index.html   Class documentation generated by Doxygen. The 
                         "Modules" page provides the best starting point.

Author:
-------
The author can be contacted at arst@users.sourceforge.net.

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions