zoukankan      html  css  js  c++  java
  • java调用.so文件

    参考原文:https://blog.csdn.net/Thousa_Ho/article/details/78653835

    环境是Linux

    1.编写好java文件

    public class ATest {
      private native void hello();
      static{
         System.load("/home/libAtest.so");
      }
      public static void main(String[] args){
         ATest test = new ATest();
         test.hello();
      }
    }

    2.执行命令生成.h文件

    javah -jni -classpath 类所在的目录地址 -d 文件生成的目录地址 类名(不要后缀)

    3.编写一个.c文件实现方法

    #include<jni.h>
    #include<stdio.h>
    #include"ATest.h"
    
    /*
     * Class:     ATest
     * Method:    hello
     * Signature: ()V
     */
    JNIEXPORT void JNICALL Java_ATest_hello
      (JNIEnv *, jobject){
       printf("hello");
    }

    4.最后打包成.so文件

    g++ -I"/usr/local/java/jdk1.8.0_121/include/linux" -I"/usr/local/java/jdk1.8.0_121/include" -fpic -shared -o libAtest.so ATest.c 

    5.使用之前编写的Java代码,就可以调用刚生成的.so文件

  • 相关阅读:
    剑指 Offer 05. 替换空格
    SNGAN
    CycleGAN
    Robust Pre-Training by Adversarial Contrastive Learning
    FineGAN
    TGAN
    SRGAN
    A Tutorial on Energy-Based Learning
    CoGAN
    EBGAN
  • 原文地址:https://www.cnblogs.com/zhh2020/p/12669403.html
Copyright © 2011-2022 走看看