rt,如何实现?求教了。
jni调用固有方法我看了,think in java那个附录《使用非JAVA代码》我也看了。jawin不知道可不可以,因为还要在linux下调,所以直接排除用jawin了。
还是不会,因为才弄这方面东西,很多不懂,请各位帮帮忙。

解决方案 »

  1.   

    要求要跨平台,那你还调用dll,太麻烦了吧。应该说一般功能java本身都能够完成,没有调用dll的必要啊,除非有某个设备只有dll的驱动之类的问题。
      

  2.   

    不好意思,我没表达清楚,在linux下就是调so包了。
      

  3.   

    定义一个native的类型的方法
    看源码提到过,具体没去实现过
    也是和dll有关系的
      

  4.   

    一点都不复杂。JNI我用得很多了,无论是LINUX还是WIN下。
    许多人说用了JNI就不能跨平台了,片面了。
    若功能是通用的,则C++的代码是一样的,只需编译成.so或.dll就行了。
    1)楼主先用JAVA写一个native的JAVA代码
    2)用javah生成.h头文件
    3)使用C++的IDE写相应的C++代码(这是核心部分,要在C++上IDE中引入JAVA中的jni.h头文件和特定平台的.h头文件[都在特定平台的JDK中])
    4)生成相应的库(.so或.dll)
    5)将这些库与JAVA的那个.class放在一起(放在包名的父目录下)就行了。
    然后:你就直接运行JAVA程序,就OK了。
      

  5.   

    发现用jna可以解决,不会就要走弯路
    谢谢了