(4)生成的TestJNI.h文件如下:

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

#include

/* Header for class TestJNI */

#ifndef _Included_TestJNI

#define _Included_TestJNI

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class:     TestJNI

* Method:    set

* Signature: (I)V

*/

JNIEXPORT void JNICALL Java_TestJNI_set(JNIEnv *, jobject, jint);

/*

* Class:     TestJNI

* Method:    get

* Signature: ()I

*/

JNIEXPORT jint JNICALL Java_TestJNI_get(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

这里JNIEXPORT和JNICALL都是JNI的关键字,表示此函数是要被JNI调用的。而jint是以JNI为中介使Java的int类型与本地的int沟通的一种类型,我们可以视而不见,就当做int使用。函数的名称是Java_再加上Java程序的package路径再加函数名组成的。参数中, 我们也只需要关心在Java程序中存在的参数,至于JNIEnv*和jclass我们一般没有必要去碰它。

jni c call java_Java通过-jni调用c语言相关推荐

  1. java调用jni接口,Java 中通过jni接口调用native code

    [    Java语言本身是通过Java的虚拟机解释执行的,因此对于Java中调用本地动态链接库的问题便提上了日程,为何会存在这样的需求呢?因为Java本身的机制导致一些要求高效率 在上上篇中已经介绍 ...

  2. android jni c调用java,Android学习JNI,使用C调用JAVA语言

    本节学习使用C语言调用JAVA语言.在生活中比如我们某些底层的硬件必须使用C语言去编写,当C语言返回的某些数值显示在界面上时,就比如使用JNI.这样可以将C返回的值显示在界面上. 本节模拟传感器返回的 ...

  3. JNI_OnLoad 回调Java_Java本地接口(JNI)编程指南和规范(第八章)

    第八章 JNI的附加功能(Additional JNI Features) 我们已经讨论了JNI被使用来写本地方法和嵌入一个Java虚拟器实现到一个本地应用程序中的功能.这章介绍JNI剩余的功能. 8 ...

  4. java 调用c效率高_java通过JNI调用C语言写的函数,能提高运行效率吗?

    C语言比Java快早就是公认的事实了.而Java可以通过JNI调用C语言写的库很多人也都知道. 但通过JNI调用C语言写的函数能提高效率吗?一直以来我都认为 是的 .昨晚心血来潮做了个测试,本意是想看 ...

  5. 用java的jni调用C语言的API,实现带图形界面的一元稀疏多项式计算器

    实现步骤: 1) 完成Java代码,编写好Java调用类. 2) 编译你的Java类. 3) 用javah生成编译好的class文件对应的C/C++ 函数的头文件. 4) 实现头文件中的函数原型,编写 ...

  6. Android系统JNI使用(JAVA调用C语言接口)一

    目录 第一篇:Android系统JNI使用(JAVA调用C语言接口)一 什么是JNI JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信主要是 ...

  7. java 调用c语言_Java 调用C语言JNI库(Hello World实例)

    要在java中调用c语言的库,一直觉得很不可思议,但是Java提供了JNI这个东西,这也就变得可能了. 作为一个码农,我们还是从最简单的 Hello World开始吧. 首先说一下我们想要做的事情. ...

  8. jni的使用---Java调用c语言

    百度百科: JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植. [1] 从Java1.1开始,JNI标准成为java平台 ...

  9. Java通过-jni调用c语言

    Java通过-jni调用c语言 一.编写JAVA程序 二.编译h头文件 三.编写C方法实现 四.生成对象文件 五.生成动态链接库 六.执行 一.编写JAVA程序 public class TestNa ...

最新文章

  1. laravel php跨域请求,Laravel 5.x设置跨域访问
  2. InsecureRequestWarning: Unverified HTTPS request is being made to host(requests证书警告)
  3. 吴恩达对话Yann LeCun:从相识Hinton到深度学习崛起
  4. 拼接字符SQL语句拼接 最后一个字符多出 处理方式
  5. substring用法
  6. html让时间只展示年月日_如何用html写代码,使得在网页上显示当前的时间和日期...
  7. 多节锂电串联保护板ic_如何有效保护锂电池板,一款优质的MOS管就能解决
  8. [转]Unity3D新手引导开发手记
  9. 凑算式——第七届蓝桥杯C语言B组(省赛)第三题
  10. STL---栈和队列
  11. 系统学习深度学习(三十)--BiLSTM
  12. CADD课程学习(5)-- 构建靶点已知的化合结构(ChemDraw)
  13. oracle增删改查基本语句
  14. 贴片晶振的焊接方法和注意事项
  15. 不太会说话,怎样提高说话的技巧?
  16. Hibernate5
  17. Termux – Android运行aarch64 – Linux – 安卓设备建站 – 让旧安卓设备老树新花
  18. 复古决战快速施法穿墙秒怪分析流程及安全防护
  19. 如何系统地自学python100天_Github上发布了一个Python学习秘笈,从萌新到王者的100天Python学习之旅...
  20. vue根据url获取内容axios_使用Vue.js和Axios从第三方API获取数据 — SitePoint

热门文章

  1. oracle10客户端tnsname,连接Oracle RAC 的tnsname.ora设置
  2. linux mysql 端口配置文件_linux虚拟机中各服务端口及配置文件路径
  3. pycharm自带python环境_Pycharm安装+python安装+环境配置
  4. eclipse 工程中使用引入maven项目遇到maven-resources-plugin:2.6 找不到
  5. 【转】store_schema.sql
  6. 逆向映射是干嘛的anon_vma, vma, anon_vma_chain
  7. sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact
  8. .NET操作Excel
  9. 住宅的结构有哪些形式
  10. 301. Remove Invalid Parentheses