zoukankan      html  css  js  c++  java
  • JNI 从零开始一次DEMO调用 IDEA 2018.2.5 + visual studio 2019

     先来一张效果图, 下一步再开始

     1:创建一个HelloWorld.java

    public class HelloWorld {
        static {
            System.loadLibrary("hello"); // Load native library at runtime
            // hello.dll (Windows) or libhello.so
            // (Unixes)
        }
    
        // Declare a native method sayHello() that receives nothing and returns void
        private native void sayHello();
        
        // Test Driver
        public static void main(String[] args) {
            new HelloWorld().sayHello(); // invoke the native method
        }
    }

    2 生成.h文件

     方式1:  IDEA 设置生成.h 的文件

     在HelloWorld.java文件中  点击右键>External Tools>Generate Header File, 成功可看见jni目录有com_HelloWorld.h文件

    方式2: 命令生成

    E:workspace_ideajnisrccom>javac HelloWorld.java
    E:workspacejnisrc>javah -classpath . -d com com.HelloWorld

    3 下载的2019 visual studio 重启电脑

     

     

    复制3个文件到目录中

     

    在复制到头文件目录中

     修改com_HelloWorld.h 文件

       #include <jni.h> 改为 #include "jni.h"

    源文件 新增main.cpp文件 右击新建项

     

    填写main.cpp 内容:如下

    #include "com_HelloWorld.h"
    #include "jni.h"    //注意添加这句
    
    #include<iostream>
    
    
    using namespace std;
    
    JNIEXPORT void JNICALL Java_com_HelloWorld_sayHello(JNIEnv* env, jobject obj)
    {
        cout << "Hello World!" << endl;
        cout << "I come from C++!" << endl;
    }

     此时右击,-》 配置管理器,

     关闭 右击 Project2 点击生成 可看见日志 如下:

     复制这个dll文件,改名hello.dll  并放在项目路径下面.

    若出现错误, 请在活动解决平台方案选择 x64

     参考地址: https://blog.csdn.net/wsxzhbzl/article/details/82727034

  • 相关阅读:
    Bash awk 基本入门
    MFC 创建文件
    MFC listbox array 使用
    MFC CString 字符串截取
    CStudioFile 读取 txt 文件数据
    C++ 取整 取余
    MFC 单文档应用程序 dialog 变量传递
    MFC 字符串截取成数组 wcstok
    写入文件
    MFC dialog 间 交互[2]
  • 原文地址:https://www.cnblogs.com/eason-d/p/11168584.html
Copyright © 2011-2022 走看看