使用perl脚本从一些* .so文件创建.jar文件

时间:2014-02-13 14:46:37

标签: perl jar

我需要使用perl脚本从少数.so文件创建.jar文件

1 个答案:

答案 0 :(得分:2)

这通常不可能。

.so(共享对象)是一个可以动态加载的库,就像Windows系统上的.dll一样。这些库包含本机编译的代码,可能依赖于其他库。 .jar是Java虚拟机(JVM)的归档文件。它也可以动态加载,但它包含.class个文件,其中包含为JVM编译的代码。

你可以将机器代码中的程序转换为JVM字节代码(或者编写一个模拟器,例如x86架构),这很麻烦,但是过分很难做到,因为CPU和JVM的执行模型实质上不同,例如在他们的记忆治疗。结果可能非常低效。并且重新编译动态加载的库将是相当不可移植的,从而破坏了JVM的目的。

如果您只想与JVM中的本机库(例如用Java编写的程序)进行交互,那么您可以使用Java Native Interface(JNI)代替。在这种情况下,您必须围绕.so编写C或C ++包装器,然后才能调用这些函数。

我不知道你为什么提到Perl。虽然语言很好,但在这里却无济于事。