`

Java 调用c++动态链接库

 
阅读更多

1.新建java代码 HelloWorld.java

 

class HelloWorld {

public native void displayHelloWorld();

 

static {

System.loadLibrary("hello");

}

 

public static void main(String[] args) {

new HelloWorld().displayHelloWorld();

}

}

 

2.javac HelloWorld.java

 

3.javah -jni HelloWorld 生成c++头文件HelloWorld.h

 

 

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class HelloWorld */

 

#ifndef _Included_HelloWorld

#define _Included_HelloWorld

#ifdef __cplusplus

extern "C" {

#endif

/*

 * Class:     HelloWorld

 * Method:    displayHelloWorld

 * Signature: ()V

 */

JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld

  (JNIEnv *, jobject);

 

#ifdef __cplusplus

}

#endif

#endif

 

 

4.实现c++头文件 HelloWorld.h的头文件 HelloWorld.cpp

 

#include "HelloWorld.h"

#include <iostream>

using namespace std;

JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld

  (JNIEnv *, jobject){

 

printf("this is my jni hello,world\n");

 

cout<<"hello,world!"<<endl;

 

 }

 

5.编译生成hello.dll动态库

工具-->选项-->source control-->include files 将jdk-->include下的头文件和win32的头文件包含进去

 

6.运行java HelloWorld 

 

参考链接http://www.blogjava.net/shiliqiang/articles/287920.html

 

 

 

 

 
0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics