当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

JNI++

授权协议 未知
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 巫马嘉祯
操作系统 未知
开源组织
适用人群 未知
 软件概览

JNI++项目提供了两个代码生成实用程序和一个旨在简化用 C++ 进行JNDI 编程的核心C++ 库。使用仅具有相对简单的数据结构的本机C/C++ 类来编写简单的JNI 程序,即这些程序仅访问字段和使用简单的访问方法(accessor)和修改方法(modifier method),这是相当容易的。JNI++ 生成许多从Java 语言访问C++ 类(或C++到Java)所必需的大量代码。

  • 一、说明 这里介绍的函数大多是 NDK 开发中常用的函数,但并不是全部,内容稍多,基本可以满足我们的开发需求了,建议通过目录索引来找需要了解的。 这里的函数都是 JNIEnv 操作的相关函数,JNI_OnLoad 等 JavaVM 的方法不在这里介绍。 JNI 有 C、C++ 两种代码风格,即:   C风格:(*env)->NewStringUTF(env, "Hellow World!");  

 相关资料
  • 问题内容: 我需要使用NDK以及JNI将一些功能实现到Android应用程序中。 这是我所写的C代码: 我的问题或多或少在代码内得到了解释。也许还可以:函数(jobject)的返回类型可以吗? 现在,NDKTest.java: 当我尝试运行代码时,它不起作用。 问题答案: 既然是内部类,那么获得它的方法就是 内部类的约定在权威规范中并未真正明确记录,但是根深蒂固地存在于如此多的工作代码中,因此不太

  • 问题内容: 我想在JNI中对16字节数组进行硬编码,并使用方法将其返回。 这不行 我收到以下错误 NativeCodeCaller.cpp:214:17:错误:’->’的基本操作数具有非指针类型’_JNIEnv’ NativeCodeCaller.cpp:215:78:警告:扩展的初始化程序列表仅在-std = c 0x或-std = gnu 0x时可用 NativeCodeCaller.cpp:

  • 问题内容: 望回到发展空间;主要使用Java调用某些本地win32函数(我不希望在.NET中构建)…。 有人可以指向我一个可以使用Java(JNI / JNA / SWIG)从不同的运行窗口中读取标题的地方。假设您知道要尝试挂接到的应用程序在内存空间中的哪个位置。 问题答案: JNA中: 要使用它: 您可能需要为HWND使用适当的结构映射,并允许unicode支持。您可以在JNA网站上找到该信息以

  • 问题内容: 我有一个Java应用程序,它创建一个套接字来与服务器进程进行通信,例如,新的java.net.Socket(String host,int port)。该应用程序包括一堆旧的c ++代码,这些代码需要从该服务器中吸取大量数据并对其进行处理。当前,这是通过使本机代码创建自己的套接字并连接到服务器来实现的,例如: 在具有多个NIC(例如,有线和wifi或vpn连接)的Windows vis

  • 问题内容: 我有一个方法: 由javah C / C ++头生成的此方法是: 如何从jobject(即ByteBuffer实例)获取数据数组? 问题答案: 假设您使用ByteBuffer.allocateDirect()分配了ByteBuffer,则可以使用GetDirectBufferAddress

  • 问题内容: 我有一个JNI方法来访问返回一个Integer对象的java方法。我不想返回原始的int类型,因为将修改此代码以处理通用对象。以下是我所拥有的。我无法获得所传递的Integer的值。C ++端的输出类似于 如何获取在C ++端传递的Integer对象的实际值? 请帮忙。 谢谢, -H GenericPeer.cpp GenericPeer.java 资料库 Test.java(主类)

  • 问题内容: 我在互联网上找到了这个示例,并且在运行它时遇到了一些问题。 据我所知,我正确地指定了构建命令, 我的意图是使用jikesrvm实际运行它,但是为了进行试验,我选择使用JVM。我得到的错误是: 我注意到用C和C ++实现的不同方式,但我认为我编写正确。 编辑:用gcc编译时,我得到 这是在eclipse中提示的内容,但我认为我的配置不恰当。当我使用它时,它也将我带到了引用的jni.h上,

  • 问题内容: 我正在通过JNI运行一个库(我没有写过),并且在内部它调用了另一个DLL。除非我将另一个DLL的路径放在系统PATH变量上(我在Windows XP上),否则我会收到一条错误消息:“找不到依赖的库”。我希望能够在Java命令行上处理此问题,并且我已经尝试将其添加到- Djava.library.path和classpath中,但都没有起作用(我希望- Djava.library.pat