为什么说COM是平台、语言无关的?

hideforever 2014-08-27 03:58:18
如题,这个怎么理解,很多地方都看到这个“语言、平台无关”,怎么更好的理解这句话?
...全文
315 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2014-09-04
  • 打赏
  • 举报
回复
目前在linux上看不到什么COM应用还是商业的原因吧。
zhuyf87 2014-09-04
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
我只听说过语言无关,除了win平台下,别的系统似乎不支持 语言无关,因为com是编译后的执行代码,且可以被大多数语言写的程序调用,所以称之为语言无关
COM是一个标准,理论上可以在Linux上实现。但COM是微软的核心技术,没人在Linux上面搞。
Dobzhansky 2014-08-28
  • 打赏
  • 举报
回复
Firefox 基于的 XPCOM 是一个简版的 COM , 在 windows 平台上跟微软 COM 兼容. CORBA 虽然被 Don Box 说成是假的组件体系, 不过却有支援多种操作系统的实现.
Dobzhansky 2014-08-28
  • 打赏
  • 举报
回复
作为一个二进制规范, COM 的确是平台,语言无关的, 什么事物都不是空中楼阁, COM 需要一个运行时实现一些基础设施. 微软的看家家伙之一是 OS, 他们只顾在自家操作系统上实现也无可非议. 不过 unix 上的 COM/DCOM 也不是没有, 可以看看 Building COM Components on UNIX 这个东西是不是真的可用, 好用,就不知道了. 同样的, .net 也是如此, MONO 那样的东西, 也应该是微软自己来搞. 为什么不搞, .net 平台只是抢夺 java 程序员的武器罢了. 像 Robert C Martin 父子的书中所说, 拥有了某个平台的程序员, 也就拥有了客户.
许文君 2014-08-28
  • 打赏
  • 举报
回复
com与平台无关说的是com仅仅是一种标准,尽管提出并且实现他的是m$,但并不代表我们无法在linux上去实现该标准。
许文君 2014-08-28
  • 打赏
  • 举报
回复
引用 5 楼 SiGoYi 的回复:
[quote=引用 4 楼 hdt 的回复:] [quote=引用 2 楼 SiGoYi 的回复:] com也不一定是语言无关吧!java可以调用com么?我一直认为只有微软的开发语言可以调用com,好像不是所有的语言都可以调用com吧! 还有平台,同楼上意见,我也只知道只有windows平台下可以使用com,其他的平台应该也不行吧! 求科普!
com 可以说是一种符合标准的二进制代码,在win平台上,不论任何语言都可以调用[/quote] 哦!那我再请教点问题。 一问,我平时写的com都是在vs环境下写的,不知道兄台是使用什么开发环境写的? 二问,我既然是用vs写的com,那里面有很多对windows平台的依赖,如头文件等,所以我感觉和windows和VS依整比较大,不知道兄台用的VS以外调用com的语言都有什么?请举出一二 谢谢![/quote] java可以通过jni调Com,C# Vb原生支持Com,C通过函数指针,python貌似需要借助一些支持,其他语言不太了解。
SiGoYi 2014-08-27
  • 打赏
  • 举报
回复
引用 4 楼 hdt 的回复:
[quote=引用 2 楼 SiGoYi 的回复:] com也不一定是语言无关吧!java可以调用com么?我一直认为只有微软的开发语言可以调用com,好像不是所有的语言都可以调用com吧! 还有平台,同楼上意见,我也只知道只有windows平台下可以使用com,其他的平台应该也不行吧! 求科普!
com 可以说是一种符合标准的二进制代码,在win平台上,不论任何语言都可以调用[/quote] 哦!那我再请教点问题。 一问,我平时写的com都是在vs环境下写的,不知道兄台是使用什么开发环境写的? 二问,我既然是用vs写的com,那里面有很多对windows平台的依赖,如头文件等,所以我感觉和windows和VS依整比较大,不知道兄台用的VS以外调用com的语言都有什么?请举出一二 谢谢!
真相重于对错 2014-08-27
  • 打赏
  • 举报
回复
引用 2 楼 SiGoYi 的回复:
com也不一定是语言无关吧!java可以调用com么?我一直认为只有微软的开发语言可以调用com,好像不是所有的语言都可以调用com吧! 还有平台,同楼上意见,我也只知道只有windows平台下可以使用com,其他的平台应该也不行吧! 求科普!
com 可以说是一种符合标准的二进制代码,在win平台上,不论任何语言都可以调用
lx624909677 2014-08-27
  • 打赏
  • 举报
回复
http://blog.csdn.net/byxdaz/article/details/6595210
SiGoYi 2014-08-27
  • 打赏
  • 举报
回复
com也不一定是语言无关吧!java可以调用com么?我一直认为只有微软的开发语言可以调用com,好像不是所有的语言都可以调用com吧! 还有平台,同楼上意见,我也只知道只有windows平台下可以使用com,其他的平台应该也不行吧! 求科普!
真相重于对错 2014-08-27
  • 打赏
  • 举报
回复
我只听说过语言无关,除了win平台下,别的系统似乎不支持 语言无关,因为com是编译后的执行代码,且可以被大多数语言写的程序调用,所以称之为语言无关

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧