JNI学习(2)——生成动态链接.dll文件

简介: JNI学习(2)——生成动态链接.dll文件

一、 软件版本


  • JDK8
  • OS:Windows10
  • IDE: Code::Blocks 20.03


二、新建动态链接项目


1666147375013.jpg


三、复制JNI相关的头文件


JNI相关的头文件有2个,分别是jni.hjni_md.h,分别位于JDK\include文件夹、JDK\include\win32文件夹中。

1666147408445.jpg

1666147423046.jpg


将上一篇博客生成的.h文件及上述两个JNI头文件添加到项目中

1666147456945.jpg


四、编写头文件对应的源文件


#include "JniHelloWorld.h"
#include "jni.h"
JNIEXPORT void JNICALL Java_cn_hangtian_com_modular_web_utils_JniHelloWorld_printHelloWorld
  (JNIEnv * env, jobject job, jstring prompt){
    const char *str = env->GetStringUTFChars(prompt, 0);
  printf("%s", str);
  env->ReleaseStringUTFChars(prompt, str);
}

五、构建整个项目,从生成.dll

1666147493666.jpg

点击项目构建按钮,生成.dll文件

1666147508251.jpg

相关文章
|
NoSQL MongoDB
12 MongoDB - 数据查询(消除重复)
12 MongoDB - 数据查询(消除重复)
590 0
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
665 1
|
机器学习/深度学习 数据采集 人工智能
AI在用户行为分析中的应用:实现精准洞察与决策优化
AI在用户行为分析中的应用:实现精准洞察与决策优化
1799 15
|
存储 NoSQL 关系型数据库
MySQL和Redis的区别
**MySQL和Redis的区别** MySQL和Redis都是流行的数据存储解决方案,但它们在设计、用途和特性上有显著区别。理解这些区别有助于选择合适的数据库来满足不同的应用需求。本文将详细介绍MySQL和Redis的区别,包括它们的架构、使用场景、性能和其他关键特性。 ### 一、基本概述 **MySQL**: MySQL是一个关系型数据库管理系统(RDBMS),使用结构化查询语言(SQL)进行数据管理。它支持事务、复杂查询和多种存储引擎,广泛应用于各种Web应用、企业系统和数据分析项目。 **Redis**: Redis是一个基于内存的键值数据库,通常被称为NoSQL数
827 4
|
移动开发 网络协议 算法
(十)Netty进阶篇:漫谈网络粘包、半包问题、解码器与长连接、心跳机制实战
在前面关于《Netty入门篇》的文章中,咱们已经初步对Netty这个著名的网络框架有了认知,本章的目的则是承接上文,再对Netty中的一些进阶知识进行阐述,毕竟前面的内容中,仅阐述了一些Netty的核心组件,想要真正掌握Netty框架,对于它我们应该具备更为全面的认知。
1016 2
|
监控 数据可视化 搜索推荐
有哪些好用的流程管理工具?帮你快速搞定复杂工作流程
在职场中,流程管理是企业高效运转的核心。本文测评了五款热门流程管理工具:板栗看板、Trello、Asana、Jira 和 Notion,从功能、易用性和适用场景等方面进行全面分析,帮助你选择最适合的工具,提升团队协作和项目管理效率。
602 0
|
运维 数据安全/隐私保护 网络协议
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
|
设计模式
LabVIEW状态机设计模式技术手册和练习
LabVIEW状态机设计模式技术手册和练习
351 1
|
存储 Linux Windows
GPT与MBR:硬盘分区表格式的革新与区别
GPT与MBR:硬盘分区表格式的革新与区别
1198 0