如何将asm库添加到java项目?

时间:2014-02-23 15:07:52

标签: java

我有一个简单的问题,但我找不到答案; / 如何在java项目中创建和调用汇编程序库? 我找到了这样的东西来调用创建的库:

public class Hello {
    public static void main(String[] args) {
            System.out.println("start");

            System.loadLibrary("native");
            (new Hello()).nativeCode();

            System.out.println("stop");
    }

    public native void nativeCode();

}

但创建库的解决方案基于linux,所以我无法弄清楚如何在win 7 64位上执行此操作。 你有什么想法?感谢您的建议。

1 个答案:

答案 0 :(得分:2)

使用JNI完成从Java调用本机代码。您需要编写一个包含使用native关键字声明的方法的Java类,并且在您的本机库中,您需要包含一个相应的函数,该函数具有适当的名称和参数供JVM调用

由于JVM调用的本机函数接受其类型在C头jni.h中定义的参数,并且您通过调用在相同头中声明的C函数与JVM交互,您可能会发现它最简单编写自己的一些C(或C ++)代码,充当JVM和汇编代码之间的中介。

如何实际构建本机库的细节是特定于平台的,但不是特定于Java的;在Windows上,Java System.loadLibrary()只加载普通的DLL文件。您的编译器/汇编程序文档应提供有关如何构建它的信息。