2011-06-16 54 views
0

我正在研究一个基于eclipse的应用程序,由几个插件组成。其中一个插件执行计算密集型任务,因此我想为我支持的某些平台提供“原生”实现。什么是最好的方式来做到这一点?如何在eclipse中插入平台特定的代码?

我正在考虑扩展了一些片段(以提供平台特定的实现)的基本插件(它提供了默认实现)。但是,基本插件如何知道可用的片段?

回答

2

你可以在主插件中编写一个类,类似LocalFileNativesorg.eclipse.core.filesystem。它加载一个实现其本地方法集的库。然后,它为使用本机实现的系统提供了一个外观,如果该系统可用但对于没有本机实现的平台具有某些默认功能。

然后,每个平台片段简单地提供了相应的本机DLL或.so

有对于具有片段供给服务时,可以由主机插件被检索的其他选项。

0

Eclipse插件的写法是Java。所以你需要做的是检索操作系统信息。

如果您滚动到this page的底部,您会看到一个代码。

+0

是的,Eclipse插件是用java编写的,这就是为什么我想使用JNI并编写一些本地代码来加速计算密集型任务。此外,我打算指定'Eclipse-PlatformFilter:'确保每个平台只加载正确的片段。但是,我无法让“基本”插件知道这些片段(并使用它们执行计算密集型任务)。 – Matteo 2011-06-16 16:39:38

+0

检查我上面建议的链接,并让我们知道,如果这是你在找什么。 – karlphillip 2011-06-16 16:41:24

+0

我不想在单个插件中检测平台。相反,我想使用eclipse设施来加载正确的片段。这样,如果我想支持一个新的平台,我只需要发布一个新的片段(并且所有其他用户不受此更改的影响)。 – Matteo 2011-06-16 16:45:03

相关问题