A Plugin is a Plugin is a Plugin
Last updated at 12:11 am UTC on 17 January 2006
- In the classical traditional VM, internal and external plugins are different.
- In MobVM, there are no differences between an internal plugin and an external plugin.
- In MobVM, all function names are fully qualified with the plugin name, whether they are internal or external. The macro XNAME(functionName) pluginName_functionName is very useful.
- In MobVM, all functions are accessed via, for Windows, LoadLibrary and GetProcAddress. This is true for both internal and external plugins, noticing that LoadLibrary and GetProcAddress work for both a shared libary (dll) as well as an executable with exported functions.
- There is no needs for these _exports thingies (in 3.1, they are all in sqNamedPrims.h in two diffrent arrays).
- The source for the plugins need to be generated only once. To be built as internal or external is up to the VM builder. This is more or less a deployment choice.
- All plugins are equal, none are more equal than others.(Well, until there is the compatibility issue).
- The modifications that made this possible are in 'sqNamedPrims.c'(Please compare them with those for the conventional VM.):