Re: Plugins/Dynamic Libraries

From: David Botton (david_at_botton.com)
Date: 11/12/04


Date: Thu, 11 Nov 2004 19:12:43 -0500

On 2004-11-11 05:34:16 -0500, Adrien Plisson
<aplisson-news@stochastique.net> said:

> well, let's relieve the pain:
> for dynamic libraries under Windows, the accepted method is _NOT_ COM !
> the equivalent of Windows COM under Linux may be CORBA, and the
> equivalent of Linux dlopen under Windows is LoadLibrary.

I would not say they are equivalent. COM is also used as a spec for
communication on a much smaller scale. As for being the accepted
method, it depends on what you are trying to achieve. Most of the time
COM is in fact preferable (encased in DLL, ie. an inproc server) since
it is an automatic plug-in to Windows, .NET, VB, etc. DLLs still serve
there place, but COM on Ada is easy to do and the results are far more
flexible.

I find that in most modern serious projects COM (on Windows and
starting recently for Mac OS X) is in fact being used over a plain dll
and in particular if you are looking to do plug-ins.

In fact, on Mac OS X plug-in are also COM in a shared lib just like on
Windows. COM is more of a spec for plug-ins that can interoperate than
a distributed object system like CORBA.

There is no reason not to use the COM "spec" in the same way on Linux
for plug-ins. Take a look at InsideCOM (Microsoft Press) for an
introduction to COM the spec (it doesn't serve as a good intro to COM
on Windows incidentally) The GNATCOM framework though would need a
little bit of work though to make it really viable though for use on
Linux, but is very reasonably doable.

I plan on a port of GNATCOM to OS X in the next year or so and that
would be usable on Linux as well. On OS X it buys you the ability to
plug-in to web browsers, etc. but on Linux you would still be able to
use it for the purpose you are looking for.

>
> if you plan on working on this subject, try to use equivalent
> mechanisms on each platform you target.
>
> please note that there are many bindings to those methods existing:
> PolyORB, AdaBroker or ORBIT-Ada are CORBA implementations, DLib for
> dlopen, LoadLibrary should be accessible through Win32Ada, and for
> COM... well, i don't know...

GNATCOM of course :-) as he pointed out. http://www.gnavi.org/gnatcom

David Botton



Relevant Pages

  • Re: Future of IT in Lebanon
    ... working knowledge of Indian programmers DNA, nor of their intuitive Java ... > So Longhorn is not an experiment and Linux is an experiment? ... another chapter in the Windows story, and the Microsoft marketing machine is ... > application opens, Check the about, it says Microsoft Visual Basic 6.3. ...
    (soc.culture.lebanon)
  • FTP DOWNLOAD! More than 6500 CRACKED SOFTWARE(CAD,CAE,CAM,ED
    ... Autodesk Architectural Desktop 2005 ... DASSAULT SYSTEMES CAA ENOVIA LCA V5R13 ... ALTAIR.OPTISTRUCT V5.1 for LINUX ... ANSYS V8.0 FOR WINDOWS ...
    (microsoft.public.dotnet.framework.adonet)
  • Linux for Senior Citizens
    ... Linux for Senior Citizens ... For such people, I believe, Windows really is a better option: ... The kernel manages all the hardware and also looks after all running ...
    (uk.people.silversurfers)
  • Re: Future of IT in Lebanon
    ... It's the same Linux code base. ... Microsoft Office on a Windows server, it will install and run fine, the main ...
    (soc.culture.lebanon)
  • Re: [SLE] Developing a Real Time Data System
    ... The KBasic License is valid for both operating systems: Windows and Linux. ... Modern BASIC language ... chapters learning about the programming language. ...
    (SuSE)