在java中嵌入c++程序入门步骤
- 首先有gcc来编译C++,有jdk来编译java。
- 编写HelloWorld程序,由于涉及到要编写c/c++代码因此我们会在开发中使用Microsoft VC++工具。编写java代码,我们在硬盘上建立一个hello目录作为我们的工作目录,首先我们需要编写自己的java代码,在java代码中我们会 声明native方法,代码非常简单。如下所示
class HelloWorld { public native void displayHelloWorld(); static { System.loadLibrary("hello"); } public static void main(String[] args) { new HelloWorld().displayHelloWorld(); } }
- 编译java代码
javac HelloWorld.java 生成HelloWorld.class文件,然后使用javah HelloWorld 来生成HelloWorld.h - 编写HelloWorld.c
#include <jni.h>; #include "HelloWorld.h" #include <stdio.h>; JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) { printf("Hello world!\n"); return; }
- 编译c的动态库
gcc -shared -o $HOME/lib/libhello.so HelloWorld.c - 注意$HOME/lib目录要加入到环境变量LD_LIBRARY_PATH中去:
#export LD_LIBRARY_PATH=~/hello将.so目录设置成hello目录中 #echo $LD_LIBRARY_PATH //显示是否设置成功
- 以上设置好后,可以像正常的java程序那样实现C++程序的功能。java HelloWorld运行程序