`
cocoIT
  • 浏览: 48525 次
  • 性别: Icon_minigender_1
  • 来自: 福建
文章分类
社区版块
存档分类
最新评论

java jni 调用cpp文件中的方法

 
阅读更多

这里说下最近修改nutch的源码碰到的调用cpp文件中的方法。

刚刚开始的时候,想直接在fetch.java中直接写jni接口。后来发现这样会留下不好的编程习惯。自己动手在fetch下写一个类。Hello.java。。。接下来就是要耍出大绝招了。。。

命令:

javac Hello.java

cd apache-nutch-1.7/build/classes #nutch编译完的class放在这个文件夹下

javah org.apache.nutch.fetcher.Hello #这边注意一下,这个Hello类要带上包名,今天就是跪在这边一个下午。。。

这时候你会兴奋的发现在classes文件下生成久等不来的....Hello.h文件了。。。重点还是在执行javah的过程。

接下来就时编译生成.so文件了。。。

命令:

cd apache-nutch-1.7/build/classes/org/apache/nutch/fetcher

gcc -shared -I /usr/local/java/jdk1.7.0_25/include -I /usr/local/java/jdk1.7.0_25/include/linux ***.cpp -o libHello.so #***.cpp就是你要调用的cpp

生成了libHello.so有木有~~~有木有~激动不?!

供学习JNI的参考,有出错的地方还望指出~不吝指教哦~

分享到:
评论

相关推荐

    JNI 调用实例(java JNI cpp互相调用实例)

    JNI 调用 c pp互相调用实例, java JNI cpp互相调用实例

    JNI实现java cpp相互调用

    JNI实现java cpp相互调用,包括动态注册和静态注册两种方式,具体包含 静态方式实现: C/C++中访问Java方法 C/C++中访问Java父类的方法 C/C++中访问/修改Java变量 Java中访问C/C++方法 Java中访问/修改C/C++变量 ...

    JNI与Java方法的相互调用

    JNI与Java方法的相互调用学习笔记代码。可以新建一个项目,把其中的c++代码拷贝到native-lib.cpp文件中,修改jni中的方法名即可

    jni简单使用

    java通过JNI调用c++的简单配置步骤, Java 通过JNI调用c++ 1.java代码: //package com.gjl.testjni; class HelloWorld { static { System.loadLibrary("HelloWorld"); } private native void print(); ...

    JNI技术手册 c/c++调用java

    II. java c/cpp互相调用实例(姊妹篇之一)——java调用c/cpp 4 一 先制作一个系统中有的DLL文件(cpp给出的sdk接口) 4 二 JNI 7 1、 编写java文件 7 2、 生成.h头文件 8 3、 用c/cpp实现这个头文件 9 三 测试 10 ...

    JNI CPP 回调 Demo

    Android JNI 方面入门级Demo 利用C CPP函数 调用 JAVA类及函数,实现回调。步骤:1.实现JAVA类在C C++里的映射。2.实现JAVA类在C C++里的初始化。3.实现JAVA类里的成员函数在C C++里的映射。4.用JAVA类的映射的初始...

    C++调用java代码的JNI实现

    C++调用java代码验证用户和权限的JNI实现 JAVA代码说明: C++代码说明: 头文件包括三个stdafx.h、jni.h、jni_md.h stdafx.h:vc2005自动生成的,在这个文件中要加入jni相关的头文件如下 jni.h:jdk中自带的...

    android studio 下集成ndk 通过java jni调用c

    自己在android studio 环境下集成ndk 、 cmake 、LLDB 等插件 开发的一个demo ; 可以直接debug到c端代码,eclipse一般追踪不到,遇到c端出问题手机直接一个crash,,,想要了解android studio 下如何进行c 开发的...

    CPP调用JAVA函数Demo

    CPP调用JAVA函数Demo 需要的可以下载来看看

    jni接口demo,java与cpp快捷调用

    一种快速搭建java与Cpp接口互调的方法,只需要分别定义javaCallCpp和cppCallJava就可实现多种接口的复用,结构清晰,非常实用,非常适合想要优化代码和精简代码的你。

    JNI开发Java和C/C++互相传递List集合

    JNI开发Java和C/C++互相传递List集合, 可以参考: Java从C/C++获取List集合对象:https://blog.csdn.net/niuba123456/article/details/80994166 Java传递List集合对象到C/C++ ...

    jni.zip jni编译jni下载

    学习JNI编译时,缺少的jni.h和jni_md.h头文件,Java调用C和C++函数时的JNI使用区别: 注意:jni.h头文件中对于***.c & ***.cpp采用不同的定义

    Android通过JNI调用驱动程序(例子).pdf

    这个例子,一步一步指导,写JNI模块,然后写JAVA应用调用该JNI模块,在JNI实现操作驱动硬件。整套JNI调用与工作流程一清二楚,这是绝佳的JNI编程入门教程! 作者:赖玉平(Peter Lai)

    Cpp运行Java的class文件.zip

    Cpp运行Java的class文件,可以编译,运行需要jvm.dll 可以去掉Qt的依赖jint create_vm(JavaVM** jvm, JNIEnv** env) { JavaVMInitArgs args; JavaVMOption options[1]; args.version = JNI_VERSION_1_6; args....

    Java调用dll示例

    Java调用dll示例,Java命名方法,C++实现生成DLL供JAVA调用

    编译JNI的gcc指令代打和测试例程

    功能是jni函数调用java函数弹出一个字符串,显示“在那遥远的地方,UNICODE编码转换工具。”弹窗背景色是随机的。 例程C++代码是src文件夹下名字最长的那个cpp文件。java主程序是sample.razerpen.jni.TestJNI。 ...

    c++ mk文件出错Jni调用产生java.lang.UnsatisfiedLinkError错误解决方法

    错误为: Android.mk文件 c++的调用方法为: 代码如下:...c中的调用方法: 代码如下:LOCAL_SRC_FILES := com_ndk_test_JniClient.c 另一个使用变量的方法,一直成功运行 c++正确的mk文件: 代码如下:LOCAL_PATH := $

    java-Call-CPP.rar_C 调用java

    Java调用C++的jni例子,很有意义

    JNI指令代打2.0

    功能是jni函数调用java函数弹出一个字符串,显示“在那遥远的地方,UNICODE编码转换工具。”弹窗背景色是随机的。 例程C++代码是src文件夹下名字最长的那个cpp文件。java主程序是sample.razerpen.jni.TestJNI。 ...

    java调用c++生成so库

    linux 环境下java调c++生成的so库,对应博客地址: http://blog.csdn.net/woniu211111/article/details/78041868

Global site tag (gtag.js) - Google Analytics