On August 17, 2014 8:05:32 AM EDT, Bjorn Reese
On 08/15/2014 11:34 PM, Rob Stewart wrote:
What that term implies is based upon one's experience. "Plugin", to me is any dynamically loaded component. The ABI you mention depends entirely upon the ubiquity of the plugin. If it must be usable by many applications and customers, it must have a documented, even standardized, API. Just as easily, however, one can create plugins based solely upon dlopen() (or LoadLibrary()) and friends of the plugins are used only for one application.
My interpretation of a "plugin" is a bit different. Normally a component decides its own interface and the application has to adjust to it. In the opposite case, when an application dictates the interface and the component has to adjust, then it is called a plugin. Dynamically loading is orthogonal to this.
I was a little loose in my description. I didn't mean to suggest that just calling dlopen() means you have a plugin. Your plugin description is reasonable. ___ Rob (Sent from my portable computation engine)