zoukankan      html  css  js  c++  java
  • 【Java基础知识】JNI入门

    1、问题:javah or  javac -h

    在配置好java的环境变量后,java和javac都是可以用的,但是用javah就会出现问题。

    会报错误

    Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/bin/javah" (-1)

    后来就在网上搜了一下jdk-10.0.2发现,这个版本的jdk取消了javah,直接改用javac -h代替了

    那我们就可以直接使用javac -h了

    2、除了上面的问题,其余过程可参考:https://my.oschina.net/gschen/blog/1613890

    总结过程:

    (1)编写java文件,定义native方法,加载步骤4生成的jni动态链接库;

    (2)javac编译java文件为class文件,javac HelloNative.java -h . 编译出c头文件,头文件里面声明了native方法;

    (3)根据头文件,新建c文件,通过c语言实现native方法;

    (4)使用gcc将c文件编译成动态链接库,jni文件:

    gcc HelloNative.c -o libHelloNative.jnilib -dynamiclib -I/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/include/ -I/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/include/darwin/

    (5)运行java程序:java HelloNative

  • 相关阅读:
    Selenium库的使用
    Win10 常用快捷键
    503.下一个更大元素 II
    456.132模式
    201.数字范围按位与
    78.子集
    299.猜数字游戏
    49.字母异位词分组
    36.有效的数独
    290.单词规律
  • 原文地址:https://www.cnblogs.com/jiangyi-uestc/p/11222135.html
Copyright © 2011-2022 走看看