jni简介

http://java.sun.com/docs/books/jni/html/jniTOC.html

helloworld code:
//hello.java
public class hello
{
public native void sayhello();
public native int add(int a, int b);
static
{
System.loadLibrary("hello");
}
public static void main(String args[])
{
new hello().sayhello();
System.out.println(new hello().add(2, 4));
}
}
//hello.h---created by command "javah"
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class hello */
#ifndef _Included_hello
#define _Included_hello
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     hello
 * Method:    sayhello
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_hello_sayhello
  (JNIEnv *, jobject);
/*
 * Class:     hello
 * Method:    add
 * Signature: (II)I
 */
JNIEXPORT jint JNICALL Java_hello_add
  (JNIEnv *, jobject, jint, jint);
#ifdef __cplusplus
}
#endif
#endif
//hello.c
#include <stdio.h>
#include "hello.h"
JNIEXPORT void JNICALL Java_hello_sayhello
  (JNIEnv * env, jobject obj)
{
printf("hello,rare!/n");
}
JNIEXPORT jint JNICALL Java_hello_add
  (JNIEnv * env, jobject obj, jint a, jint b)
{
return a + b;
}

 

你可能感兴趣的:(jni简介)