Linux/UNIX 中的 COM 编程模拟
Posted
技术标签:
【中文标题】Linux/UNIX 中的 COM 编程模拟【英文标题】:Analog of COM programming in Linux/UNIX 【发布时间】:2011-02-23 23:38:16 【问题描述】:组件对象模型 (COM) 是(或曾经...)在 Windows 中提供与语言无关的软件组件的方式。
在 Linux/UNIX 中是否有任何编程模型具有通过二进制组件重用代码的相同理念?
【问题讨论】:
【参考方案1】:在 Linux 上,DBus 目前正在成为事实上的更高级别标准。
【讨论】:
【参考方案2】:Sun RPC 应该是这样的。然后是CORBA。然后GNOME Bonobo 和KDE DCOP。现在看来D-Bus 是最新时尚。
【讨论】:
是的,似乎 DBUS 是要走的路。谢谢。 啊! XPCOM呢?对 Mozilla 项目的编程限制太多了吗?还是类似于 COM? 关于XPCOM,除了Mozilla,它也不是那么好用的。另外,不要忘记 Uno,它是 OpenOffice/LibreOffice 的合作伙伴。 DBUS 不是组件系统。它只提供 IPC(进程间通信)和激活(对尚未启动的进程进行 IPC)。它不支持进程内组件(如可加载库或 ActiveX 控件),也没有许多标准化接口(例如“嵌入式控件”、“文件类型 XY 的文件查看器”、IDispatch、持久存储、OLE、.. .就像你在COM中一样)。基本上,现在(2012 年)所有这些都被一次性 DBUS 接口所取代。【参考方案3】:作为 GNOME 一部分的 Evolution 电子邮件客户端使用 CORBA。它使用 ORBit,这是一个轻量级的 CORBA ORB。
http://projects.gnome.org/ORBit2/
【讨论】:
以上是关于Linux/UNIX 中的 COM 编程模拟的主要内容,如果未能解决你的问题,请参考以下文章
Windows IPC 模拟 Linux Unix 域和 Netlink 套接字
Linux/UNIX编程:获取指定用户所有正在运行的进程ID和进程名