• JNI生成C的头文件


    最近再给android封装一个C语言的so,以供安卓程序下使用。

    再次记录一下,防止以后忘记了。

    首先下载安装JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    然后进行环境配置:

    我用的是win7系统,步骤为:计算机--属性--高级系统设置--环境变量--系统变量

    添加:

      变量名         变量值

    JAVA_HOME  C:Program FilesJavajdk1.7.0_09

    path       C:Program FilesJavajdk1.7.0_09in

    classpath     .;C:Program FilesJavajdk1.7.0_09lib ools.jar;C:Program FilesJavajdk1.7.0_09libdt.jar;C:Program FilesJavajdk1.7.0_09in

    然后点确定,在cmd命令框中输入

    javac和javah查看命令是不是成功。

    出现以上信息即为成功。

    然后写一个java文件,我的是一个test.java文件,包名为com.test

    1 package com.test;
    2 public class test {
    3 public native int[] test();//即要生成的C的函数
    4 }

    然后进入文件夹下,先执行>javac com est est.java生成class文件

    然后在执行:>javah com.test.test后,在该文件下就可以生成com_test_test.h这个头文件

    这个头文件内容为:

     1 /* DO NOT EDIT THIS FILE - it is machine generated */
     2 #include <jni.h>
     3 /* Header for class com_test_test */
     4 
     5 #ifndef _Included_com_test_test
     6 #define _Included_com_test_test
     7 #ifdef __cplusplus
     8 extern "C" {
     9 #endif
    10 /*
    11  * Class:     com_test_test
    12  * Method:    test
    13  * Signature: ()[I
    14  */
    15 JNIEXPORT jintArray JNICALL Java_com_test_test_test
    16   (JNIEnv *, jobject);
    17 
    18 #ifdef __cplusplus
    19 }
    20 #endif
    21 #endif
    View Code

    这样生成头文件即可完成。

  • 相关阅读:
    数据结构实验之栈与队列四:括号匹配(SDUT 2134)
    从 s 点到 t 点的最短路(简单模板)(迪杰斯特拉)
    畅通工程续(HDU 1874)(简单最短路)
    Til the Cows Come Home ( POJ 2387) (简单最短路 Dijkstra)
    顺序表应用7:最大子段和之分治递归法(SDUT 3664)
    Java面向对象4(P~U)
    House Lawn Kattis
    Jumbled String (Kattis
    队列详解及java实现
    栈详解及java实现
  • 原文地址:https://www.cnblogs.com/lanye/p/3300823.html
Copyright © 2020-2023  润新知