Difference between revisions of "Plugin architecture Low-level Architecture"

From Second Life Wiki
Jump to navigation Jump to search
 
Line 2: Line 2:


== Code loading ==
== Code loading ==
Dynamic loading of natively-compiled executable code can be accomplished with dlopen / dlsym in Linux and MacOSX and LoadLibrary on Win32.
[[dlopen code example]]
== Calls from viewer to plugin (hooks) ==
== Calls from viewer to plugin (hooks) ==
== Calls from plugin to viewer (exposing an API) ==
== Calls from plugin to viewer (exposing an API) ==

Revision as of 19:57, 12 February 2007

The three technical challenges for creating a plugin architecture are as follows:

Code loading

Dynamic loading of natively-compiled executable code can be accomplished with dlopen / dlsym in Linux and MacOSX and LoadLibrary on Win32.

dlopen code example

Calls from viewer to plugin (hooks)

Calls from plugin to viewer (exposing an API)