使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码

2023-11-19

使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码

1.我们使用的工具是 IntelliJ IDEA 2018编写java代码)和VisualStudio 2019编写Native方法)。

2.使用IntelliJ IDEA 2018编写java代码
1)编写java代码。

public class HelloWorld {
    
    private native void sayHello();
    
    static {
        System.loadLibrary("hello");
    }

    public static void main(String[] args) {
        new HelloWorld().sayHello();
    }
    
}

2)使用命令生成项目名.h头文件
命令是:javah -classpath 类的class文件目录 -d ./jni 类目录.类名
注意:使用javaj来生成头文件(.h)时, -classpath 指定的是编译后的java文件(.class)的目录,因此在使用javah指令前,需要先build一下项目(或者直接运行一下),来生成out目录,所有编译后的文件都放在这个目录下面。
在这里插入图片描述
之后会自动创建一个jni文件夹,头文件在这里
在这里插入图片描述

3.使用VisualStudio 2019编写Native方法。
1)新建项目。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)配置头文件。
找到本地JDK配置路径
在这里插入图片描述
根据配置查找到JDK文件中的两个.h文件
在这里插入图片描述
在这里插入图片描述
把这两个文件和我们idea创建的头文件(.h)全部放在Visual Studio创建的项目的目录中。
在这里插入图片描述
之后再把这三个文件都放入Visual Studio创建的项目的头文件中
在这里插入图片描述
注意:按照顺序来,先放到项目的目录,再放到项目的头文件。

然后修改头文件(idea创建的.h文件)。
在这里插入图片描述
3)编写Native方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4)配置管理器,编译生成.dll文件。
在这里插入图片描述
在这里插入图片描述
使用快捷键 " Ctrl+Shift+B “,编译项目。
在这里插入图片描述
4.把生成的.dll文件放入idea的项目根目录下,执行方法。
在这里插入图片描述

整理借鉴了很多大佬写的,在此无法一一说明,这只是个人用来查漏补缺的文章,如果对你有帮助我很高兴。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码 的相关文章

随机推荐

  • Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)

    交易 二 在这个系列文章的一开始 我们就提到了 区块链是一个分布式数据库 不过在之前的文章中 我们选择性地跳过了 分布式 这个部分 而是将注意力都放到了 数据库 部分 到目前为止 我们几乎已经实现了一个区块链数据库的所有元素 今天 我们将会
  • 轻松解决Visual Studio登陆凭证问题

    很多同学在使用Visual Studio的时候 在试用期过后 需要登陆验证时 往往会登陆不上 出现 无法刷新用户凭证 无法获得信赖 等问题 如图 解决方式 点击账户选项 使用系统Web浏览器
  • 解决:xcode:Member reference base type ‘rapidjson::Document‘ (aka ‘int‘) is not a structure or union

    xcode Member reference base type rapidjson Document aka int is not a structure or union 首先尝试了 把rapidjson当作源码接进项目 放在demo的
  • DB2动态实现时间类型加减

    DB2动态实现时间类型加减 需求分析 根据时间类型动态展示数据 例如作图表展示中x轴时间等 具体实现 db2 sql select t4 SERIES t7 TARGET NAME max t4 DATATIME DATATIME SUBS
  • html结合css实现浏览器展示3D相册

    最近写了一个在浏览器展示3D相册效果 通过html文件结合css实现 1 html详细代码如下
  • Windows10 系统下cuda安装教程,小白教程 !很详细!!

    Windows10 系统下cuda安装教程 1 查看适合自己电脑的cuda版本 1 点击Windows R 输入nvidia smi 看一下自己电脑支持的conda 版本是 根据下图白框标出的地方可以看出我的conda 版本是10 0 2
  • 游戏引擎:打造梦幻游戏世界的秘密武器

    介绍 游戏引擎是游戏开发中不可或缺的工具 它为开发者提供了构建游戏世界所需的各种功能和工具 本文将介绍游戏引擎的概念 使用方法以及一个完整的游戏项目示例 游戏引擎的概念 游戏引擎是一种软件框架 它提供了游戏开发所需的各种功能和工具 包括图形
  • Burp Suite的安装

    首先 想要使用burp suite必须有Java环境 想要检查自己是否有Java环境可以在cmd命令行中输入java java version来查看 java环境可以去oracle官网下载一个jdk1 8 然后双击安装就行 jdk版本不能太
  • 两种方法清空memcache缓存(转)

    默认memcache会监听11221端口 如果想清空服务器上memecache的缓存 大家一般使用的是 telnet localhost 11211flush all 同样也可以使用 echo flush all nc localhost
  • c++——static总结

    前言 经过static修饰的变量 存储在内存的全局静态区 且被static修饰的变量只能在本模块的所有函数引用 内存中的存储区域如下 堆区 是由程序员手动申请 new 与释放 delete 的内存区域 从低地址向高地址申请 内存空间大 存储
  • 用户登录测试用例

    谈起用户登录的测试用例 试问有没有在面试测试职位的时候 经常被面试官问到或者是在笔试题上会让你回答 你当时的回答全面了吗 你对自己的答案给多少分呢 然而这只是面试而已 在工作中你的测试用例写得怎么样 有没有考虑全面呢 前几天网上报了一门课程
  • GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计

    1 GBT9706 1中B型BF型和CF型各表示什么意思 代表的是根据与患者接触的部件的电击防护分类 F代表floating绝缘 有很高的保护要求 低漏电流 B代表身体Body C代表心脏cardiac B类设备 具有特定程度电击防护的设备
  • Linux 编译安装中的 configure 命令

    用了这么久的 Linux 系统 也许你会发现 在编译安装中 有的服务编译安装需要执行 configure 命令 而有的却不需要 这是为什么呢 也是不是像我一样一头雾水呢 其实这取决于服务的构建系统和配置方式 以下是两个常见情况 自动配置系统
  • Keil编译完成后出现的程序大小说明

    Keil编译完成后出现的程序大小说明 Code 代表执行的代码 程序中所有的函数都位于此处 也可认为是程序所占用的FLASH大小 存储在FLASH中 RO data Read only data 代表只读数据 程序中所定义的全局常量数据和字
  • OpenStack--创建虚拟机

    启动虚拟机之前需要先做一些前期准备 比如网络和 IP 地址分配 虚拟机 类型创建等等 具体如下 1 网络规划及 IP 划分 官网安装文档 https docs openstack org ocata zh CN install guide
  • 今天我们来聊一聊孟德尔随机化

    欢迎关注 生信修炼手册 在传统的实验设计中 由于种种混杂因素的存在 我们仅仅能够分析变量之间的关联性 最典型的比如GWAS 对于显著的位点 只能够说明这些位点和性状之间存在关联 对于了解事情发生的原因和规律而言 关联性是不够的 我们需要的是
  • 【Excel】工作中会用到的excel操作和技巧

    最近入职培训 接受了一些企业文化的洗脑课 不过也有一些是很有实际应用的课程 比如excel操作和技巧 现将自己觉着很有用的地方总结如下 1 基础性操作与技巧 说在前面 一个好的工作表格 需要主要以下几点 首行首列要留白 外边框要加粗 字体字
  • php企业微信通讯录同步设置接收事件服务器

    第一步登陆企业微信pc端管理后台设置好信息 先不要点击保存 会提示失败 随后根据填写的URL编写接口 接口代码如下 就是第一步图中的token token xxx 就是第一步图中的EncodingAESKey encodingAESKey
  • msys2下gtk或qt程序的打包

    1 编译x64的程序 从win10的开始菜单中打开MSYS2 MinGW x64命令行 使用cd命令切换到二进制程序exe所在目录 2 执行如下命令 最后一个参数是当前文件存放dll 可以自定义一个新的文件夹 拷贝起来方便 ldd exe
  • 使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码

    使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码 1 我们使用的工具是 IntelliJ IDEA 2018 编写java代码 和VisualStudio 2019 编写Native方法