问题描述: 该函数在win平台上面调用不是很成功,GUI会可以调出来,但可能和屏蔽调其中的一些用到CUI的功能,而调用CUI如masm.exe是很不成功,出现一个黑屏,没用内容,或者根本不有结果。 其程序如下:
| class RunThread{ Process t public void run(){ try{ t = java.lang.Runtime.getRuntime().exec("c:\\masm.exe"); }catch(java.io.IOException e ) { System.out.println(e); } } } /******************/ class RunExeNative{ public static void main(String args[]){ RunThread RT = new RunThread(); RT.run(); } }
|
下面是JNI + C 的本地化的实现方法: 写一个:CallExeNative.h 步骤如下:
| step one : /**** CallExeNative.java ****/ 编写CallExeNative.java文件 import java.lang.*; class CallExeNative{ public native static void CEN(); static { System.loadLibrary("CallExeNative"); } }
|
在命令行里用:
| javac CallExeNative.java javah CallExeNative |
然后你就多了一个 :CallExeNative.h 它的文件如下:
| /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class CallExeNative */#ifndef _Included_CallExeNative #define _Included_CallExeNative #ifdef __cplusplus extern "C" { |
|