swig java使用实例

来源:互联网 发布:网络驱动没了怎么办 编辑:程序博客网 时间:2024/05/16 14:19

步骤:

1、swig -java -c++ example.i    生成c++接口文件。
2、使用VS2010编译所有的c++文件,生成相应的dll (x86或者x64),其他Linux平台生成so =>example.dll example.so ,最后把动态链接库放到当前目录。
3、javac *.java
4、java runme

//example.cppdouble Foo=6.0;int gcd(int x,int y){    int g;    g=y;    while(x>0)    {        g=x;        x=y%x;        y=g;    }    return g;}
%module example# 注释%{ ..%} 文件名:example.i%inline %{extern int gcd(int x,int y);extern double Foo;   %}        
//runme.javapublic class runme {  static {    try {System.loadLibrary("example");    } catch (UnsatisfiedLinkError e) {      System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);      System.exit(1);    }  }  public static void main(String argv[]) {    // Call our gcd() function        int x = 42;    int y = 105;    int g = example.gcd(x,y);    System.out.println("The gcd of " + x + " and " + y + " is " + g);        // Manipulate the Foo global variable        // Output its current value    System.out.println("Foo = " + example.getFoo());        // Change its value    example.setFoo(3.1415926);        // See if the change took effect    System.out.println("Foo = " + example.getFoo());  }}



0 0
原创粉丝点击