【问题标题】:How to integrate native applications with eclipse?如何将本机应用程序与 eclipse 集成?
【发布时间】:2010-10-25 02:10:38
【问题描述】:

我有几个用 C++ 和 C# 编写的本机应用程序。这些是需要在它们之间共享数据的遗留应用程序。目前,数据共享是通过以某种专有格式导入/导出文本文件。我们目前正在考虑使用 eclipse 集成这两个应用程序。我的问题是:

  1. 我们如何将原生应用程序(例如基于 c++ 和 c# 的应用程序)集成到 eclipse 中?
  2. eclipse 为原生应用提供了哪些数据集成方式?
  3. eclipse 是这种用途的最佳选择吗?

另外,如果您能分享您在 eclipse 中集成原生应用程序的经验,这将非常有帮助。

我特别关注将本机应用程序集成到 eclipse 中,就像我们集成用 Java 编写的 eclipse 插件一样。例如,在 Java 中编写一个包装器插件需要什么,它将通过使用可以集成到 eclipse 中的 JNI 调用来包装本机工具,就像任何其他 eclipse 插件一样?这是集成原生应用程序的首选方法,还是用 Java 重写我的旧原生应用程序是个好主意?

我不打算将 eclipse 用作使用“外部工具”配置的本机应用程序的启动板。

【问题讨论】:

标签: c# c++ eclipse integration


【解决方案1】:

如果您可以围绕您的 C++/C# 应用程序编写 JNI 包装器,那么您可以从 Eclipse 插件中使用它们。

最简单的方法是:

  1. 将 C++/C# 应用程序重新打包为 DLL(如果还没有的话)
  2. 用 JNI 层包装它们
  3. 将 DLL 放在插件的根文件夹中
  4. 从 JNI 包装类中的静态初始化程序块调用 System.LoadLibrary() 以加载所需的 DLL

您可能会发现 Eclipse 新闻组上题为 Using DLL in an Eclipse plugin 的讨论很有帮助。

【讨论】:

    【解决方案2】:

    这里没有关于 Eclipse 的固有特性(这并不是说您不能将它用作 IDE)。基本上,您应该查看P/InvokeCOM Interop 和 MSDN 在Managed-Unmanaged Interoperability 上的(大量)部分。虽然您可以将双方与 Java/SWT 集成,并将其用作中间人,但我认为这没有多大意义。

    【讨论】:

      【解决方案3】:

      如果您只想从 Eclipse 内部运行应用程序,请使用 external tools 基础架构。

      如果不是,请提供有关您寻求的集成的更多详细信息。

      【讨论】:

      • 我特别关注将本机应用程序集成到 eclipse 中,就像我们集成用 Java 编写的 eclipse 插件一样。例如,在 Java 中编写一个包装器插件需要什么,它将通过使用可以集成到 eclipse 中的 JNI 调用来包装一个本机工具,就像任何其他 eclipse 插件一样?这是集成本机应用程序的首选方法,还是用 Java 重写我的旧本机应用程序是个好主意?我不打算将 eclipse 用作使用“外部工具”配置的本机应用程序的启动板。
      猜你喜欢
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 2011-07-25
      • 2015-05-08
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多