java本地调用c++的动态库
大家好,我在做个java调c++的dll库的例子。只是简单的输出个hello world这样的。但是在将c++做成dll库的时候遇到了问题。
首先是java的调用类
HelloWorld.java
这是它的内容:
public class HelloWorld { public native void displayHelloWorld(); public native void displayMyName(); static { System.loadLibrary("hello"); } /** * @param args */ public static void main(String[] args) { new HelloWorld().displayHelloWorld(); new HelloWorld().displayMyName(); }}/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class HelloWorld */#ifndef _Included_HelloWorld#define _Included_HelloWorld#ifdef __cplusplusextern "C" {#endif/* * Class: HelloWorld * Method: displayHelloWorld * Signature: ()V */JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject);/* * Class: HelloWorld * Method: displayMyName * Signature: ()V */JNIEXPORT void JNICALL Java_HelloWorld_displayMyName (JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif#include <stdio.h>#include <jni.h>#include <HelloWorld.h>JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj){ printf("Hello world!\n"); return;}JNIEXPORT void JNICALL Java_HelloWorld_displayMyName(JNIEnv *env, jobject obj){ printf("我叫XX\n"); return;}