当前位置: 首页 > news >正文

Android基于JNI的Java与C++互调

java调用C++:

#include <jni.h>

//导出c函数格式

extern "C" JNIEXPORT

//供JNI调用 

JNICALL

函数名格式 Java_包名_类名_函数名(包名.替换为_)

Java_com_example_getapplist_MainActivity_stringFromJNI

   包名:com_example_getapplist   类名:MainActivity.      函数名:stringFromJNI

#include <jni.h>
#include <string>
//导出c函数格式
extern "C" JNIEXPORT jstring
//供JNI调用
JNICALL
//函数名格式  Java_包名_类名_函数名(包名.替换为_)
Java_com_example_getapplist_MainActivity_stringFromJNI(JNIEnv *env, //JNI环境jobject //类对象) {//string对象std::string hello = "Hello from C++";//string转换为jstringreturn env->NewStringUTF(hello.c_str());
}

C++ Jni  CMakeList.txt  

cmake_minimum_required(VERSION 3.22.1)
project("getapplist")
add_library(${CMAKE_PROJECT_NAME} 
http://www.lryc.cn/news/144809.html

相关文章:

  • 【算法与数据结构】513、LeetCode找树左下角的值
  • React——组件缓存 react-activation
  • EV代码签名证书是什么?
  • 融媒行业落地客户旅程编排,详解数字化用户运营实战
  • PDF制作成翻页电子书
  • 多线程
  • BingChat与ChatGPT比较,哪个聊天机器人能让你获益更多?
  • Qt读写ini配置文件(QSettings)、XML
  • JVM知识点(二)
  • 代码随想录算法训练营day44 | LeetCode 518. 零钱兑换 II 377. 组合总和 Ⅳ
  • Vue2向Vue3过度核心技术工程化开发和脚手架
  • Expected all tensors to be on the same device, but found at least two devices
  • Mysql备份命令Mysqldump导入、导出以及压缩成zip、gz格式
  • App卡帧与BlockCanary
  • bpmnjs Properties-panel拓展(ExtensionElements拓展篇)
  • 虚拟机的使用
  • CSS Flex布局
  • Virtual
  • 6、监测数据采集物联网应用开发步骤(5.2)
  • 解释 Git 的基本概念和使用方式
  • 不同ubuntu系统下的不同ros系统可以互相通讯吗
  • 数学建模-模型详解(2)
  • IT运维:使用数据分析平台监控DELL服务器
  • Spring Cloud Alibaba-Sentinel规则
  • go http-proxy
  • 用变压器实现德-英语言翻译【01/8】:嵌入层
  • 【vue3.0中ref与reactive的区别及使用】
  • 计算机竞赛 基于情感分析的网络舆情热点分析系统
  • C++ 动态分配内存|动态数组
  • React Diff算法原理