我有一个32位.so二进制文件库,我必须生成使用它的64位程序.有没有办法包装或转换它,所以它可以用于64位程序?
我是Vrapper项目的开发人员.
Vrapper包含2个主要部分
我们希望vrapper.core是Eclipse不知道的,所以它可以在Eclipse之外重用.目前,我们可以"整理"各种Eclipse文本编辑器和我们用于单元测试的小型模拟文本编辑器.
vrapper.core实现了各种Vim命令,模式等.这些都与Platform进行通信 - 一个抽象出底层内容的接口(文本编辑器,剪贴板,设置系统等).
当为编辑器创建模式时,它会询问平台是否有额外的命令,这些命令适用于底层编辑器,当前编辑的文件类型等.
EclipsePlatform使用Eclipse扩展点机制提供这些命令.
那么,让我们考虑以下项目(还有更多):
我们可以通过两种方式来处理这些问题:
从Eclipse的角度看它应该是这样的.有一个插件包含来自vrapper.eclipse和vrapper.core的代码,以及一个包含来自surround.core和surround.eclipse的代码的片段.
许多插件解决方案都有一些我不理解的延迟类加载的问题.这是因为当创建vrapper.core的模式实例时,他们需要创建来自surround.core的类(通过vrapper.eclipse - > surround.eclipse).
如果你从Eclipse运行东西并从运行配置中选择所有插件,这是有效的,但如果一个部署功能和插件并运行eclipse,则会抛出异常,因为找不到来自surround.core的类.这是环绕的精神.从依赖插件请求额外的命令创建隐式循环依赖.
我所说的隐式依赖是指在编译时没有核心类依赖于eclipse特定的类.
模式(如vim普通模式)是核心类.它们包含命令.有一些特定于Eclipse编辑器的命令(比如运行这个特定于JDT的重构).这些命令实现了核心接口,但它们的代码(显然)存在于特定于eclipse的项目中.创建模式时,它会向底层平台询问一些额外命令 - 这些额外命令是在eclipse插件中实现的.这是当eclipse中的延迟类加载使得一切都在运行时爆炸 - …