`
fly_hyp
  • 浏览: 305723 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

jni 中的 signature

    博客分类:
  • Java
阅读更多

最近在研究jni编程。碰到一些问题记录一下。有需要的朋友可以拿去用

 

jni 有一个函数是

 

jmethodID (JNICALL *GetStaticMethodID)
      (JNIEnv *env, jclass clazz, const char *name, const char *sig);

其中参数 sig (signature) 在文档中说明的不太清楚。

 

可以通过javap命令获得相应的 methed signature

 

例如:

javap -classpath myJavaUtils.jar -s com.lang.JavaUtil

 

javap -s -p Prompt

 

 

网上搜了很多,下面这些还不错:

 

http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/method.html

 

http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp133

 

 

2
0
分享到:
评论

相关推荐

    JNI入门Demo3.0

    JNI在Android开发中尤为重要,特别是在需要调用C/C++原生代码以提升性能或者利用现有库时。本教程“JNI入门Demo3.0”主要针对的是JNI的动态注册Native函数这一核心概念。 首先,我们需要理解什么是JNI。JNI是一种...

    jni数值传递

    本篇文章将详细探讨在JNI中如何进行数值类型的传递,包括基本类型如`int`,字符串`String`,以及数组`int[]`。 首先,我们需要创建一个Java类,并声明native方法。在Java中,我们使用`native`关键字来标记一个方法...

    JNI创建java对象

    在本场景中,"JNI创建java对象"指的是利用JNI技术在C/C++原生代码中创建和操作Java对象。JNI在Android开发中尤其重要,因为Android系统的主要编程语言是Java,但为了实现高性能计算或调用操作系统底层功能,开发者...

    JNI获取Java中类方法、构造函数

    在Java程序中,我们可以通过JNI来调用C/C++的原生代码,反之亦然。本篇主要讨论如何通过JNI获取Java类的方法和构造函数。 ### 1. 定义Native方法与生成头文件 在Java类中,我们首先需要定义一个native方法,这是一...

    JNI学习笔记.doc

    需要注意的是,在编译过程中可能会遇到找不到`jni.h`或`jni_md.h`的问题,可以通过将这些头文件复制到项目的适当位置来解决。 ##### 5. 加载DLL并调用Native方法 最后一步是在Java程序中加载生成的DLL文件,并调用...

    最简单的Android JNI程序

    Android JNI(Java Native Interface)是Android开发中的一个重要概念,它允许Java代码和其他语言(如C++、C)编写的代码进行交互。JNI在Android应用开发中有着广泛的应用,例如提高性能、利用现有C/C++库或者实现...

    jni调用java静态方法

    本示例将详细介绍如何在JNI中调用Java的静态方法。 首先,我们需要了解JNI的基本结构。一个JNI程序通常包括Java类(包含JNI函数声明)和本地源代码(C/C++实现)。在Java类中,我们会定义`native`关键字修饰的静态...

    JNI中C层调用Java层函数

    总结来说,JNI提供了Java和C/C++之间的桥梁,使得开发者可以在Java程序中利用C/C++的高效计算能力或特定功能。通过声明`native`方法、生成C头文件、编写C代码以及编译动态链接库,我们可以实现C层调用Java层函数,...

    jni调用c来实现

    * Signature: ()V */ JNIEXPORT void JNICALL Java_NativeDemo_callFromC (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif ``` 3. **编写C代码**:基于生成的头文件,编写C/C++代码来实现native方法...

    Java JNI调用动态库(Linux、Windows)的实现步骤

    至此,我们完成了整个 JNI 过程中的三个主要步骤。接下来需要确保动态链接库被正确编译并放置在系统可以找到的位置。具体来说,对于 Windows 平台,通常需要将 `.dll` 文件放在项目的类路径下或系统的搜索路径中;...

    安卓使用jni的例子

    总结来说,这个“安卓使用jni的例子”展示了如何在Android应用中使用JNI来调用C/C++代码。通过这个过程,我们可以学习到JNI的基本原理,包括Java端的native方法声明、头文件的生成、C/C++的实现以及本地库的构建和...

    一个简单的jni显示Dialog的例子

    在Android开发中,JNI常用于提升性能、调用系统级API或者实现特定硬件功能,例如与C/C++库交互。本例子展示了如何通过JNI在Android应用中显示一个Dialog。 首先,我们需要创建一个本地方法(native method)在Java...

    JNI设计实践之路

    1. **创建、检查及更新Java对象**:通过JNI,开发者可以在C/C++环境中创建Java对象,对其进行属性读写等操作。 2. **调用Java和非Java程序所编写的方法**:包括调用win32 API等。 3. **捕获和抛出“异常”**:实现了...

    第一个JNI实例学习

    在这个"第一个JNI实例学习"中,我们将探讨如何创建并运行一个基本的JNI程序。 首先,我们需要理解JNI的核心概念。JNI提供了一套接口,让Java代码能够声明本地方法,这些方法在运行时由本地(非Java)代码实现。本地...

    Android基于JNI压缩图片高效不失真

    5. **在Android应用中调用JNI方法**:最后,在需要压缩图片的地方,实例化JNI接口并调用`compressBitmap`方法。注意传入的`Bitmap`对象以及期望的压缩质量。 通过这种方式,我们可以在Android应用中利用JNI实现高效...

    JNI新手源码

    在Java中,JNI被广泛用于提升性能、调用系统级库或者利用已有的C/C++代码。本教程将深入探讨JNI新手如何通过源码实现Java调用C++的过程。 首先,我们来看`testdll.java`文件,这是Java端的源码,通常包含JNI方法的...

    博客JNI相关的测试代码

    Java Native Interface(JNI)是Java平台的...在实际项目中,通过JNI进行Java和C++的结合,可以实现诸如图形渲染、设备驱动控制、高性能计算等多种复杂任务。而测试代码则能帮助我们验证这些跨语言交互的正确性和效率。

    JNI加密例子

    在这个“JNI加密例子”中,我们将探讨如何利用JNI来实现数据加密。 JNI的核心是提供了一种方式,使得Java代码可以调用C/C++编写的本地方法,反之亦然。这种混合编程模式可以充分利用Java的跨平台性和C/C++的高效性...

    双向jni调用

    在Android开发中,JNI被广泛应用于性能优化、调用系统底层库、与硬件设备交互等场景。本篇文章将深入探讨“双向JNI调用”,即Java调用C和C调用Java的实现方法。 ### 1. Java调用C Java调用C的过程通常称为出口函数...

    jni java调用c/c++

    在本例中,我们将详细介绍如何使用 JNI 将 Java 代码与 C/C++ 代码集成,生成动态库,并加载到 Java 程序中。 JNI 概述 JNI 提供了一种机制,允许 Java 代码调用 native 代码,反之亦然。JNI 提供了两种方式来实现...

Global site tag (gtag.js) - Google Analytics