我对 COM 和跨平台兼容性感到困惑 [关闭]
Posted
技术标签:
【中文标题】我对 COM 和跨平台兼容性感到困惑 [关闭]【英文标题】:I'm confused about COM and cross-platform compatibility [closed] 【发布时间】:2012-10-11 09:58:25 【问题描述】:我在确定在跨平台环境中使用哪些技术时遇到问题。到目前为止,这是我的想法。
Java 是一种很好的编程语言,虽然我不太习惯它。而且由于我更喜欢访问我在 C# 中已经习惯的 Linq、委托等内容,所以我宁愿不用那么多。与用户控件相比,我也不喜欢 Beans 的工作方式。
C# 是我的首选语言。我喜欢它,我会称自己为该领域的专家(但显然不是 COM 领域的专家)。
C++ 对我来说是俄罗斯的一座城市。使用这种编程语言时,我感觉自己就像在瞎走一样,而且与 C# 相比,它需要更长的时间来完成。
我正在为一个为期 4 周的学校项目制作备份系统。但是,我对它的未来有更大的意图。而要使备份系统成功,它必须具有跨平台兼容性。
因此,如果我在 C# .NET COM 中创建了一个类库,并在包含 GUI 的 Java 项目中使用该 COM,整个应用程序仍然可以跨平台工作吗?
【问题讨论】:
【参考方案1】:COM 是微软的技术,它不是跨平台的。
您可以使用 C# 和 mono 项目为您提供跨平台部署。
http://www.mono-project.com/Main_Page
【讨论】:
【参考方案2】:我正在为一个为期 4 周的学校项目制作备份系统。但是,我对它的未来有更大的意图。而要使备份系统成功,它必须具有跨平台兼容性。
我的建议是完全专注于完成为期 4 周的学校项目的目标。不要添加可能使您的项目脱轨的不必要的复杂性(例如跨平台支持)。使用您目前最熟悉的(适用的)技术。
一旦你完成了你的课程,一定要重新审视这个项目,并尝试把它变成更大/更好/更畅销/什么的。
(我们都可以梦想成为下一个比尔盖茨,但你真的认为你会通过另一个备份程序变得富有和/或成名吗?)
【讨论】:
【参考方案3】:理论上 COM 是跨平台的,但实际上它依赖于 Windows。除此之外,使 .NET 程序集 COM 可见并不会使其独立于 .NET 运行时(CLR),因此您同时依赖 .NET(对于您的程序集)和 Windows(对于 COM)。但是 COM 和 .NET 都有实现,也有 POSIX 实现。 AFAIK for .NET 有一个名为Mono
的运行时可以安装在ios
、android
和POSIX
上,但对于学校项目,我认为你的老师不接受它作为跨平台,所以你应该使用@987654325 @ 或 C++
本质上是跨平台的(Java 与运行时兼容,C++ 与源代码兼容)。
【讨论】:
以上是关于我对 COM 和跨平台兼容性感到困惑 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章