请问用java写的程序,如一个java写的frame如何用jni技术编译成dll.而在windows下运行. 这个据我所知好像不行吧!JNI技术是Java设计用来调用Windows的,不知道能不能发过来!但是你有何必呢,Windows下有这么多开发工具! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是这样: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 __cplusplusextern "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支持. 你是想把Java程序做成一个Windows的dll吗? 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 __cplusplusextern "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.能否运行.这样的想法可行吗? 我觉得不可能,因为他的调用方式和类型是Java 我认为JNIEXPORT保证此DLL只能被Jvm调用 完全可以,不过你的WIN32的工地一定要比较的好,可以用C++程序装入JAVA虚拟机,这个方面的内容在SUN的网站上有,有兴趣的话可以看一看。 www.javasoft.com,具体的网值我忘了,肯定是有的,你索一把就可以找到。 关于线程的小问题,求解释,谢谢!! java.lang.ClassNotFoundException错误 java中如何把字符串转换为日期? 这代码为啥运行不了 关于数据库连接的问题(高分求救) 简单的javaw,为何出错? 帮看看这个线程化时钟程序,为什么运行后时间没有显示出来,只有一片灰? ResultSet.last();错误 什么是JAVADOC? errorPage的问题 再送40分,关于 out.print("中文") 乱码问题 各位大虾请给小弟指条路。
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支持.
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.
能否运行.
这样的想法可行吗?