用于在java类上生成C ++包装器的工具

时间:2010-12-27 04:19:09

标签: java c++ java-native-interface swig

根据我的理解,SWIG将包装C ++ / C以使其显示在Java中,而javah将在C ++中实现某些java函数(也称为本机函数)。
是否有一个工具可以在java类上创建一个C ++包装器,以便调用者。这个c ++ 包装器不必担心java,例如
输入Java是

  class hw {  
    public  void hi() {  
      System.out.println("Hello World");  
    }  
  }  

工具输出hw.hh(以及一些.c ++文件),可以用作:

  

hw * h = new hw(/ * JEnv * / env);
      H->喜();

是否有可以执行此操作的工具?

2 个答案:

答案 0 :(得分:5)

选项包括以下内容,按费用的升序排列。

  • Java类客户编写的手写JNI代码。
  • 由您为您班级的客户编写的手写JNI驱动包装。
  • JACE - 生成包装器。 JACE是一款免费工具。最新版本是在2008年;不确定开发是否仍在继续。
  • JunC++ion - 生成包装器。该商业图书馆以最少的开发努力产生最佳结果。它支持Java回调,C ++类实现Java接口。作者非常敏感,是一个非常好的人。但是,有一个价格标签,您需要确定部署成本。

答案 1 :(得分:2)

很久以前我使用过这个产品,http://www.codemesh.com/products/junction/

它会完全按照您的意愿行事。

只是一个免责声明,我差不多6年前就用它了。我不喜欢这个产品。