Why Component Object Model (COM) is not supported on linux. Plz anyone brief me through its technical perspective. I know COM is a standard developed by microsoft but after compilation what are the facts that do not let COM objects run on the Linux environment.
I only have a minute now to discuss this, but basically, *nix doesn't have any real exact counterpart to the Windows Registry, which is an important although not absolutely needed requirement of COM.
The COM specification is really just a description of how memory should look if an object is built according to its specification. In Linux one could build the object exactly according to the COM specification (using C, C++, or any language that supports use of pointers) and use it in exactly the same manner, but the dynamic loading of the object would have to be done by the client/host without Registry support. All that really means is that the LoadLibrary() part would have to be done by the client, and the exported COM function DllGetClassObject() would also have to be done there too. I have personally done this many times with Windows COM myself, and in fact there is something of a name for it, i.e., 'Registry Free COM'. This can even be done if the object isn't even registered with RegSvr32.exe. Perhaps later I'll have time to elaborate if you have any questions.
@hamzaali906: For heavens sake please stop with the duplicate posting!
*nix doesn't have any real exact counterpart to the Windows Registry, which is an important although not absolutely needed requirement of COM.
The Windows registry started life as a Registry of COM objects. It was only with Windows NT that Microsoft recomended using the registry for holding general config. So to say POSIX doesn't have a registry is irrelevant. It's pretty easy to build one.
The COM specification is really just a description of how memory should look if an object is built according to its specification.