springboot 调用 c++生成的so库文件

一、创建c文件

SoTest.h
#pragma once
class SoTest
{int Add(int a,int b);
};
SoTest.cpp
#include "SoTest.h"int SoTest::Add(int a, int b) {return a + b;
}

二、创建so文件

/home/ubuntu/projects/SoTest/bin/x64/Debug/libSoTest.so

三、java代码

Maven依赖

<dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.9.0</version>
</dependency>

核心代码 

public class SOTest {public interface SoTest extends Library {static SoTest INSTANCE = Native.load("/home/ubuntu/projects/SoTest/bin/x64/Debug/libSoTest.so", SoTest.class);int _ZN6SoTest3AddEii(String x, int a, int b);         // c方法}public int add(int a, int b) {return SoTest.INSTANCE._ZN6SoTest3AddEii("", a, b);}}

测试关键代码 

    public static void main(String[] args){SOTest soTest = new SOTest();soTest.add(1,1);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6234.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#的tabControl控件实现自定义标签颜色

最近项目需要自定义tabControl控件颜色&#xff0c;而默认这个控件是不支持自定义标签颜色的&#xff0c;于是想办法实现了这个功能&#xff0c;效果如下图所示&#xff1a; 直接上代码&#xff1a; using System; using System.Collections.Generic; using System.ComponentM…

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型&#xff0c;具备高吞吐、低延迟、高可用和强一致性的特点&#xff0c;适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …

Odoo免费开源ERP最佳业务实践:生产管理

文 / 开源智造&#xff08;OSCG&#xff09; Odoo亚太金牌服务 概述 Odoo是全球排名第一的免费开源ERP系统&#xff0c;以其强大的功能和模块化设计著称&#xff0c;适用于各种规模及类型的企业。Odoo集成了生产、采购、销售、库存、财务、人力资源、市场营销、电子商务等多个…

1.CSS的三大特性

css有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级 1.1 层叠性 想通选择器给设置想听的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要是解决样式冲突的问题。 <!DOCTYPE html> <html lang"en&…

【2024年华为OD机试】(A卷,200分)- 优雅子数组 (JavaScriptJava PythonC/C++)

一、问题描述 题目描述 如果一个数组中出现次数最多的元素出现大于等于 k 次&#xff0c;被称为 k-优雅数组&#xff0c;k 也可以被称为优雅阈值。 例如&#xff1a; 数组 [1, 2, 3, 1, 2, 3, 1] 是一个 3-优雅数组&#xff0c;因为元素 1 出现次数大于等于 3 次。数组 [1,…

电子应用设计方案102:智能家庭AI鱼缸系统设计

智能家庭 AI 鱼缸系统设计 一、引言 智能家庭 AI 鱼缸系统旨在为鱼类提供一个健康、舒适的生活环境&#xff0c;同时为用户提供便捷的管理和观赏体验。 二、系统概述 1. 系统目标 - 自动维持水质稳定&#xff0c;包括水温、酸碱度、硬度和溶氧量等关键指标。 - 智能投食&…

智能化加速标准和协议的更新并推动验证IP(VIP)在芯片设计中的更广泛应用

作者&#xff1a;Karthik Gopal, SmartDV Technologies亚洲区总经理 智权半导体科技&#xff08;厦门&#xff09;有限公司总经理 随着AI技术向边缘和端侧设备广泛渗透&#xff0c;芯片设计师不仅需要考虑在其设计中引入加速器&#xff0c;也在考虑采用速度更快和带宽更高的总…

Vue3.5 企业级管理系统实战(三):页面布局及样式处理 (Scss UnoCSS )

本章主要是关于整体页面布局及样式处理&#xff0c;在进行这一章代码前&#xff0c;先将前两章中的示例代码部分删除&#xff08;如Home.vue、About.vue、counter.ts、App.vue中引用等&#xff09; 1 整体页面布局 页面整体布局构成了产品的框架基础&#xff0c;通常涵盖主导…

Linux 消息队列的使用方法

文章目录 1.概念2. 创建消息队列3. 发送消息4. 接收消息5. 消息结构体6. 消息队列控制&#xff08;删除、获取队列状态&#xff09;消息队列是否存在7. 使用场景8. 注意事项使用例子判断消息队列是否存在的代码获取队列空间大小 1.概念 消息队列是一种进程间通信 (IPC) 机制&a…

低代码可视化-转盘小游戏可视化-代码生成器

转盘小程序是一种互动工具&#xff0c;它通过模拟真实的转盘抽奖或决策体验&#xff0c;为用户提供了一种有趣且公平的选择方式。以下是对转盘小程序的详细介绍&#xff1a; 转盘小程序的应用场景 日常决策&#xff1a;转盘小程序可以帮助用户解决日常生活中的选择困难问题&a…

【Prometheus】Prometheus如何监控Haproxy

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

仅仅4M!windows系统适用,免费无限制使用!

软件介绍 在日常生活里&#xff0c;我们经常会碰到电脑运行迟缓、网速卡顿的现象&#xff0c;却又不清楚是哪个程序在占用过多资源。这种时候&#xff0c;一款能实时监测网络和系统状态的工具就变得非常关键了。今天呢&#xff0c;就给大家介绍一个小巧又实用的监控工具——「T…

计算机毕业设计hadoop+spark+hive图书推荐系统 豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 知识图谱 图书大数据 大数据毕业设计 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Harmony Next 支持创建分身

应用分身能实现在一个设备上安装多个相同的应用&#xff0c;实现多个账号同时登录使用和运行并且互不影响。主要应用场景有社交账号双开、游戏大小号双开等&#xff0c;无需账号切换&#xff0c;从而省去频繁登录的繁琐。 Harmony Next 很容易就能让 App 支持创建分身。 官方文…

Linux下 date时间应该与系统的 RTC(硬件时钟)同步

发现客户服务器时间与真实时间不同&#xff0c;并且服务器没有网络。 解决办法&#xff1a;时间应该与系统的 RTC&#xff08;硬件时钟&#xff09;同步 手动设置系统时间 使用 date 命令将系统时间设置为 2025年01月21日 14:12:00&#xff1a; sudo date --set"2025-01…

XX污水处理厂基于RK3576核心板应用(四)——人员倒地智能识别系统方案

通过 SAIL-RK3576核心板 支撑的 人员倒地识别系统&#xff0c;污水处理厂能够在广阔、复杂的区域内实时监控人员安全&#xff0c;实现意外倒地等事故的秒级响应与干预。搭配多元人形动态监测机制&#xff0c;还可进一步拓展对其他异常动作或不安全行为的识别&#xff0c;持续保…

【IEEE Fellow 主讲报告| EI检索稳定】第五届机器学习与智能系统工程国际学术会议(MLISE 2025)

重要信息 会议时间地点&#xff1a;2025年6月13-15日 中国深圳 会议官网&#xff1a;http://mlise.org EI Compendex/Scopus稳定检索 会议简介 第五届机器学习与智能系统工程国际学术会议将于6月13-15日在中国深圳隆重召开。本次会议旨在搭建一个顶尖的学术交流平台&#xf…

css粘性定位超出指定宽度失效问题

展示效果 解决办法&#xff1a;外层容器添加display:grid即可 完整代码 <template><div class"box"><div class"line" v-for"items in 10"><div class"item" v-for"item in 8">drgg</div>&…

随机变量的变量替换——归一化流和直方图规定化的数学基础

变量替换是一种在统计学和数学中广泛应用的技术&#xff0c;它通过定义新的变量来简化问题&#xff0c;使得原本复杂的随机变量变得更加容易分析。 变量替换的公式&#xff0c;用于将一个随机变量 X X X 的概率密度函数 f X f_X fX​ 转换为其经过函数 g g g 变换后的随机变…

Scrapy之一个item包含多级页面的处理方案

目标 在实际开发过程中&#xff0c;我们所需要的数据往往需要通过多个页面的数据汇总得到&#xff0c;通过列表获取到的数据只有简单的介绍。站在Scrapy框架的角度来看&#xff0c;实际上就是考虑如何处理一个item包含多级页面数据的问题。本文将以获取叶子猪网站的手游排行榜及…