`
abc20899
  • 浏览: 909018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JNI详解001_c++

 
阅读更多
public class HelloWorld {
   public native void print(String str);  //声明本地方法
   
   public static void main(String[] args) {
	   new HelloWorld().print("world!");
	   //System.out.println(System.getProperty("java.library.path"));
   }
   
   static{
	   //System.loadLibrary("helloworld"); // 加载库文件
	   System.load("/Users/zhaoshun/solibs/libhello.so");
   }
}

/**
 *  
 * Class:     jni_sample_HelloWorld
 * Method:    print
 * Signature: (Ljava/lang/String;)V
 *
  JNIEXPORT void JNICALL Java_jni_sample_HelloWorld_print(JNIEnv *, jobject, jstring);
 */



#include <iostream.h>
#include <jni.h>
#include "jni_sample_HelloWorld.h"
using namespace std;

JNIEXPORT void JNICALL Java_jni_sample_HelloWorld_print(JNIEnv *env, jobject obj, jstring name)
{
	const char* pname = env->GetStringUTFChars(name,NULL);
	cout <<"Hello,"<< pname << endl;
}

/*
c文件中的这么写的
str = (*env)->GetStringUTFChars(env,prompt,NULL);  
*/



编译
g++ -dynamiclib -o libhello.so HelloWorld.cpp -framework JavaVM -I/System/Library/Frameworks/JavaVM.framework/Headers


运行结果:
Hello,world!



分享到:
评论

相关推荐

    jni详解高清pdf文档

    介绍了Android下jni的使用,使用学习使用。

    android jni详解

    Android调用C++接口调用技术Java Native Interface(JNI)详解,

    androi jni详解

    《jni详解》这本书可以让你了解android c/c++ jni开发。

    Android使用jni调用c++/c方法详解

    1、下载ndk 2、编写jni的加载类 参考例子: public class JniTest { public native String append(String str1, String...编写好jni加载类之后,就要开始生成.h文件了,此文件相当于一个声明文件,起到jni连接c++源

    JNI使用规范详解.pdf

    通过JNI可以使得Java与C/C++机型交互。即可以在Java代码中调用C/C++等语言的代码或者在C/C++代码中调用Java代码。由于JNI是JVM规范的一部分,因此可以将我们写的JNI的程序在任何实现了JNI规范的Java虚拟机中运行。...

    Android下JNI入门详解

    适合对JNI尚不了解的开发者。介绍如何在Android环境下使用JNI已达到java与C/C++函数互调,描述如何在VM中调用C/C++函数。

    android jni常用函数详解

    总结了jni C C++中常用的函数的使用方法,并给出了实例源码。对于编写学习jni的人员有很大的帮助

    The Java Native Interface jni

    JNI技术详解,帮你快速掌握Java调用C/C++的JNI技术。

    在 C/C++ 中调用 Java

    从 C/C++ 中调用 Java 代码,有一下几个步骤: 1.创建 JVM。调用 JNI_CreateJavaVM()。 2.寻找要调用的类。调用 FindClass()。 3.找到要调用的方法。调用 GetStaticMethodID()/GetMethodID()。 4.运行方法。...

    详解AndroidStudio JNI +Gradle3.0以上JNI爬坑之旅

    他定义了一些JNI函数,来让开发者可以通过调用这些函数来实现java代码调用C/C++代码。 2.如何使用JNI呢? 我们先将写好的C/C++代码编译成对应平台的动态库(windows是.dll文件,linux是.so文件)。 下面我们来举个...

    详解C++的String类的字符串分割实现

    详解C++的String类的字符串分割实现 功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”。在Java下直接用String的split函数就可以了。c++下String没有直接提供这个函数,需要自己写。 网上给出的解决方案...

    Android串口开发之使用JNI实现ANDROID和串口通信详解

    主要给大家介绍了关于Android串口开发之使用JNI实现ANDROID和串口通信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    Java本地接口JNI使用详解

    对于java程序员来说,java语言的好处和优点,我想...它使得在 Java 虚拟机(VM) 内部运行的Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行互操作。JNI 重要的好处是它没有对底层 Java

    Android jni ndk 工程

    Android studio 编译第一个NDK程序的详细教程的代码,附上Android studio编写第一个NDK工程的过程详解文章的链接https://blog.csdn.net/weixin_37639900/article/details/89680670

    c++代码实现tea加密算法的实例详解

    通过c++来实现tea加密算法,最终编译成so文件,以JNI的方式提供给客户端调用,主要需要解决以下三个问题: 实现tea算法,这都有开源的代码可以实现; 解决padding问题; 密钥做一个混淆,防止编译生成的库文件...

    详解如何使用Android Studio 进行NDK开发和调试

    JNI 是Java Native Inteface的缩写,是Java中定义的一种用于连接Java和C/C++接口的一种实现方式。 NDK NDK 是 Native Developmentit的缩写,是Google在Android开发中提供的一套用于快速创建native工程的一个工具。 ...

    android studio 3.4配置Android -jni 开发基础的教程详解

    首先下载配置android ...生成c++头文件 然后在windows控制台Terminal进入hello.java所在的目录执行javac hello.java,如下 执行完毕后hello.java的同级目录下面会生成一个Hello.class文件,证明这一步成功啦! 然后

    C调用java详解和源代码

    C调用java程序详解和源代码,前一阵子,趁有机会了解了JNI的一些东西,并按我的方法对JNI做了些封装,我就可以在C++ 中调用一些java写的功能了

    基于Android studio3.6的JNI教程之helloworld思路详解

    一定要选择Native c++类型,最后要选c++11支持。 SDK设置: File-&gt;Settings File-&gt;Project Structure 首先确定工程的目录结构,然后尝试运行一下工程,使用模拟器,确保工程没问题, 在MainActivity的同级目录,...

Global site tag (gtag.js) - Google Analytics