JAVA 多线程

首先创建Java文件 HelloJni.java ,并创建native方法

package com.hongyu.jni;

public class HelloMyJni{
public native void helloWorld(); // 注意,这个native方法就是调用C语言接口用的
static{
System.loadLibrary(“hello”); // 这行是调用动态链接库
}
public static void main(String[] args){
new HelloMyJni().helloWorld();
}
}
1
2
3
4
5
6
7
8
9
10
11
编译Java文件并生成java头文件

java -d . HelloJni.java // 生成class文件
javah -jni com.hongyu.jni.HelloJni // 生成java头文件 com_hongyu_jni_HelloJni.h

/* DO NOT EDIT THIS FILE - it is machine generated /
#include <jni.h>
/
Header for class com_hongyu_jni_HelloJni */

#ifndef _Included_com_hongyu_jni_HelloJni
#define _Included_com_hongyu_jni_HelloJni
#ifdef __cplusplus
extern “C” {
#endif
/*

  • Class: com_hongyu_jni_HelloJni
  • Method: helloWorld
  • Signature: ()V
    */
    JNIEXPORT void JNICALL Java_com_hongyu_jni_HelloJni_helloWorld
    (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
创建C语言文件微商相册,HelloWorld.c

#include “jni.h”
#include “com_hongyu_jni_HelloJni.h”
#include <stdio.h>
#include <stdlib.h>

JNIEXPORT void JNICALL Java_com_hongyu_jni_HelloJni_helloWorld(JNIEnv * env, jobject obj)

    {

      printf("Hello World!\n");

    }  

1
2
3
4
5
6
7
8
9
10
11
12
生成动态链接库文件 libhello.so

#gcc -Wall -fPIC -c HelloWorld.c -I ./ -I $JAVA_HOME/include/linux/ -I $JAVA_HOME/include/

#gcc -Wall -rdynamic -shared -o libhello.so HelloWorld.o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值