你需要用到jni记得IBM的中文网站有一篇教程,你可以去看看
解决方案 »
- jpanel 与 jdesktoppane 的区别是什么啊 【洒分 快来参与】
- 报错Package with uri 'null' not found
- 关于用jxl又一问:关于表格边框的设置
- 请问requestDispatcher的forward方法如何传递参数。搜索了一下使用request.setAttribute()进行设置,好象不行, 详细代码内附。
- 谁有“多媒体教学网络”的源代码!有就100分!!
- 在applet中如何弹出对话框
- 我怎麼把com目錄下所有的類和目錄下的類源文件全部一次性編譯?
- 文件操作问题
- 学swing用什么书好?
- java初学者,求会java的表哥指点下 ,一个温度转换器,开始暂停控制播放音乐,根据温度判断输出相应的图片。我目前图片显示不出来,不知道哪里错了,求指点
- 帮个忙啊:哪有java编译器下载啊?
- 团队开发工具
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,但还是会提示找不到方法的!
返回的就可以作为类使用了