使用C++嵌入到Java代码中有3个好处
1.C++代码效率高
2.C++代码反反编译
3.C++能与硬件交互。
1.Java代码编写
package cn.itcast;
public class TestNative {
public native void sayHello();
public static void main(String []args)
{
System.loadLibrary("nativecode");
TestNative ts=new TestNative();
ts.sayHello();
}
}
2.使用javah生成头文件
javah TestNative
3.编写C++代码
#include "cn_itcast_TestNative.h"
#include <iostream>
using namespace std;
JNIEXPORT void JNICALL Java_cn_itcast_TestNative_sayHello(JNIEnv *env, jobject obj)
{
cout<<"Hello World!"<<endl;
}
4.使用VS生成DLL
5.运行程序 输出 Hello World!
使用JNI有两个弊端
1.编出的程序不能跨平台
2.Java是强类型语言,C++不是。编写代码要小心。
所以在写Java程序的时候要尽量少使用本地代码。