JNI 学习笔记系列(一)

JNI全称是Java native interface,它是一个中间件,通过JNI可以使Java和C语言之间互相调用,在android开发中,像wifi热点的开启,像极品飞车中重力加速,碰撞效果的模拟以及音视频文件的编码解码都离不开c的底层开发,因此说学好jni还是非常有用的,今天先来看看一些基础知识吧:

先来一个间的c语言代码:

# include<stdio.h>
# include<stdlib.h>
main(){
       printf("Hello world ! \n");
      
       system("pause");
       }

这个程序输出一个简单的"Hello world ! "

再来一个简单的Java程序:

public class HelloJava{
     public static void main(String args[]){
	System.out.println("Hello java and JNI !");
}

}

把Java程序编译成.class文件之后,然后把.class文件和之前的c文件放在同一个文件夹中,这样就可以直接在c中执行Java:

# include<stdio.h>
# include<stdlib.h>
main(){
       printf("Hello world ! \n");
       system("java HelloJava");
       system("pause");
       }

结果为:

如果.class文件和c文件不在同一个文件夹中,假设.class文件在c盘的根目录下,那么该如何调用呢?

# include<stdio.h>
# include<stdlib.h>
main(){
       printf("Hello world ! \n");
       system("java -classpath c:\\ HelloJava");
       system("pause");
       }

posted @ 2015-04-25 07:40  江南一点雨  阅读(218)  评论(0编辑  收藏  举报