这个据我所知好像不行吧!
JNI技术是Java设计用来调用Windows的,不知道能不能发过来!
但是你有何必呢,Windows下有这么多开发工具!

解决方案 »

  1.   

    我的意思是这样:
    import java.awt.*;public class JniTest { 
       static {
             System.loadLibrary("JniTest.class");
        }   public void paint(Graphics g){
         //用java写的绘图程序
       }
      public native static void main(String[] args);
     } 生成头文件:
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*
     * Class:     JniTest
     * Method:    main
     * Signature: ([Ljava/lang/String;)V
     */
    JNIEXPORT void JNICALL Java_JniTest_main
      (JNIEnv *, jclass, jobjectArray){
     //用vc写的窗口.}#ifdef __cplusplus
    }
    #endif
    #endif
    编译成dll.在windows下运行而无须jvm支持.
      

  2.   

    你是想把Java程序做成一个Windows的dll吗?
      

  3.   

    import java.awt.*;public class Test { 
      
      public void paint(Graphics g){
        //用java写的绘图程序
      }
      public static void main(String[] args){
       //生成窗口.
      }
    } 假使该程序可以在jvm支持下运行.我现在要移植到pc上,而用jvm支持.能否用jni技术做到?我指:
    import java.awt.*;public class JniTest { 
      static {
            System.loadLibrary("JniTest.class");
        }  public void paint(Graphics g){
        //用java写的绘图程序
      }
      public native static void main(String[] args);
    } 生成头文件:
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*
    * Class:    JniTest
    * Method:    main
    * Signature: ([Ljava/lang/String;)V
    */
    JNIEXPORT void JNICALL Java_JniTest_main
      (JNIEnv *, jclass, jobjectArray){
    //用vc写的窗口.}#ifdef __cplusplus
    }
    #endif
    #endif编成dll.后写一个bat.
    能否运行.
    这样的想法可行吗?
      

  4.   

    我觉得不可能,因为他的调用方式和类型是Java
      

  5.   

    我认为JNIEXPORT保证此DLL只能被Jvm调用
      

  6.   

    完全可以,不过你的WIN32的工地一定要比较的好,可以用C++程序装入JAVA虚拟机,这个方面的内容在SUN的网站上有,有兴趣的话可以看一看。
      

  7.   

    www.javasoft.com,具体的网值我忘了,肯定是有的,你索一把就可以找到。