JNI吧,具体没做过,不是很清楚
jdk里一堆.h文件估计是干这个的

解决方案 »

  1.   

    用Corba分布式对象模型可以达到你的目的~你可以在JAVA中使用该技术调用C++或VC++或VB编写的DLL组件,达到跨平台的效果~具体的实现方法,还得参考一些相关的书籍,好运~
      

  2.   

    要DLL没问题,只要你舍得给分~~哈哈~我给你一个超级简单的VB编写的DLL文件
      

  3.   

    给一个简单例子:
    package mytest;public class HelloNative
    {         //要调用的本地方法声明为native
     public native static void greeting();
     static
    {
     System.loadLibrary("newPrintfDll");
    }
    }
    主类如下:
    package mytest;import mytest.*;public class HelloNativeTest
    {
    public static void main(String[] args)
    {
    HelloNative.greeting();
    }
    }
    首先,你要编译有native方法的那个文件,生成class文件,然后,使用jdk自带的命令javah编译该类文件,生成.h文件,生成的.h文件的关键代码如下:
    JNIEXPORT void JNICALL Java_mytest_HelloNative_greeting
      (JNIEnv env*, jclass cl);//稍微改了改
    用vc或者c++builder做一个dll文件,跟着winzard做,不难,将这段代码拷贝到cpp文件里(用vc做时),然后再在下面写出你要的代码如
    JNIEXPORT void JNICALL Java_mytest_HelloNative_greeting
      (JNIEnv env*, jclass cl)
    {
          printf("Hello NativeWorld!");
    }
    编译生成dll,放到c:\winnt\system下就可以了.
    注意:
    在用vc编译dll时,要先找到jni.h和jni_md.h放到include里
    在编译.h文件是注意包的路径问题(如果有的话),否则虽然可以找到dll,但还是会提示找不到方法的!
    以上只是一点心得,希望对你有帮助,谢谢
      

  4.   

    使用JAVA的JNI技术,这里有教程http://java.sun.com/docs/books/tutorial/native1.1/concepts/index.html
      

  5.   

    谢谢,给分dll文件应该放在system32目录下才找得到
      

  6.   

    好,又学一手我也谢谢advanced(超越)。另开一帖聊表谢意:http://www.csdn.net/expert/topic/1035/1035412.xml?temp=.751034