课堂上老师说,native接口可以实现不同语言的混编,弥补java语言的不足之处,听到此处我大喜过望,心想又可以使用我的C/C++了,哈哈,开心,欣喜之下,我晚上回到宿舍开始试试这个native接口的功能。
首先从网上找了如下的代码:
1。java的先编译为.class文件:
public class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("helloworld");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
2。假设HelloWorld.class的目录为 f:/javacode/native/bin/HelloWorld.class
然后通过cmd 中 在根目录下输入 javah -classpath -jni f:/javacode/native/bin/HelloWorld
就可以输出HelloWorld.h的头文件了,这个下面要用到的,哈哈,好好保管;
3。下面就是些HelloWorld.cpp文件了,我喜欢用VC6.0 这里注意了,建立的是动态链接库文件,不是控制台哦,小心了,
内容是:
#include
#include
#include"HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!/n");
return;
}
这里的jni.h是安装jdk的时候在其根目录下,假设你是默认安装则在C:/Program Files/Java/jdk1.6.0_10/include文件夹下,通过
Tools->Options 中的Directories的选项卡添加jni所在的目录即可,截图如下。
4。编译通过后,执行即可得到我们梦寐以求的 HelloWorld.dll文件,嘿嘿准备工作到这里就算完成了,对了,还要把HelloWorld.dll文件
拷贝到与HelloWorld.dll文件在同一个文件夹内,然后通过进入命令提示符即cmd 进入其文件夹 输入 java HelloWorld
哈哈,看到了吗?Hello World! 你生命中的第一个java 与 C 的混编程序就此诞生了,开心吧,哈哈,享受语言的魅力吧!