新闻详情

新闻详情

首页 / 资讯中心 / 详情

【2015-04-27】Linux下使用JNI封装调用已经存在的动态静态库

发布时间:2026/9/25 16:43:12来源:尧图网络
【2015-04-27】Linux下使用JNI封装调用已经存在的动态静态库
[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2015-04-27 标题Linux下使用JNI封装调用已经存在的动态静态库分类编程 / java / C C 标签linux·java·jni·动态库·静态库Linux下使用JNI封装调用已经存在的动态静态库备注封装动态库封装静态库备注本文在以下两片笔记的基础上扩充而来【 http://116.62.110.235/blog/linux-dynamic-library-static-library/ 】【 http://116.62.110.235/blog/linux-jni-simple-example/ 】封装动态库#首先看下当前目录的文件$lsfunctions.c functions.h HelloJni.class HelloJni.java JniSwapper.c JniSwapper.class JniSwapper.h JniSwapper.java#先编译出一个动态库libfunc.so$ gcc functions.c-fPIC-shared-olibfunc.so#在libfunc.so的基础上编译libJniSwapper.so注意这里需要用-l来表明依赖$ gcc JniSwapper.c-fPIC-shared-I/usr/lib/jvm/java-7-openjdk-amd64/include -L.-lfunc-olibJniSwapper.so $exportLD_LIBRARY_PATH.:$LD_LIBRARY_PATH$ ldd libfunc.so linux-vdso.so.1(0x00007ffd4070f000)libc.so.6/lib/x86_64-linux-gnu/libc.so.6(0x00007f001c307000)/lib64/ld-linux-x86-64.so.2(0x00007f001c8ee000)$ ldd libJniSwapper.so linux-vdso.so.1(0x00007ffe161b2000)libfunc.so./libfunc.so(0x00007f128ad82000)libc.so.6/lib/x86_64-linux-gnu/libc.so.6(0x00007f128a99f000)/lib64/ld-linux-x86-64.so.2(0x00007f128b188000)#执行$ javac HelloJni.java $javaHelloJni100200300封装静态库#编译生成.a$ gcc-cfunctions.c $ ar-rcslibfunc.a functions.o $lsfunctions.c functions.h functions.o HelloJni.class HelloJni.java JniSwapper.c JniSwapper.class JniSwapper.h JniSwapper.java libfunc.a#在libfunc.a的基础上编译libJniSwapper.so注意这里需要用-l来表明依赖$ gcc JniSwapper.c-fPIC-shared-I/usr/lib/jvm/java-7-openjdk-amd64/include -L.-lfunc-olibJniSwapper.so $exportLD_LIBRARY_PATH.:$LD_LIBRARY_PATH$ ldd libJniSwapper.so linux-vdso.so.1(0x00007ffeceb62000)libc.so.6/lib/x86_64-linux-gnu/libc.so.6(0x00007f54cae40000)/lib64/ld-linux-x86-64.so.2(0x00007f54cb427000)#执行$ javac HelloJni.java $javaHelloJni100200300
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【股票交易】第 57 章 技术分析的局限性 2026/9/25 18:09:27

【股票交易】第 57 章 技术分析的局限性

回到目录 文章目录 57.1 技术分析能够告诉我们多少 描述价格,不等于预测价格 有预测信息,不等于能够赚钱 图表不能独立完成公司估值 57.2 信号滞后、噪声与主观解释 更早的信号,通常意味着更多不确定性 假突破不一定意味着分析过程有错 图形背后的心理,只能作为待验证的解释…

阅读更多 →
基于Rocky Linux 10系统与Docker环境Loki + Nginx日志分析实战教程 2026/9/25 18:09:14

基于Rocky Linux 10系统与Docker环境Loki + Nginx日志分析实战教程

基于Rocky Linux 10系统与Docker 环境Loki + Nginx日志分析实战教程 前言 一、相关介绍 1.1 Loki介绍 1.2 Promtail介绍 1.3 Grafana 1.4 Nginx 二、环境介绍 2.1 环境规划 2.2 实践方案介绍 三、环境准备工作 3.1 更新软件包 3.2 配置防火墙 3.3 Docker环境准备 3.4 创建项目目…

阅读更多 →
Claude Code 的 skill 用法与高级特性:从 SKILL.md 到 references 与 script 的 TaoToken 配置实战 2026/9/25 18:09:14

Claude Code 的 skill 用法与高级特性:从 SKILL.md 到 references 与 script 的 TaoToken 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
华为AR路由器基本状态深度诊断指南 2026/9/25 18:09:14

华为AR路由器基本状态深度诊断指南

1. 为什么“查看基本状态”不是点几下鼠标就能解决的事?在华为路由器运维现场,我见过太多人卡在第一步:连上设备后,面对命令行界面发懵。有人反复刷新Web管理页,等“系统状态”按钮亮起;有人把console线插了…

阅读更多 →
AI Agent 决策架构演进:从 ReAct 到 MCP、Hermes,把底层机制讲透 2026/9/25 18:09:14

AI Agent 决策架构演进:从 ReAct 到 MCP、Hermes,把底层机制讲透

如果你在 2022 年之前问一个大模型"帮我查一下上海明天的天气,然后订一张去那里的机票",它会非常自信地编出一段看起来合理但实际全是幻觉的回答。不是因为它笨,而是因为它的整个世界观里只有"生成下一个 token"&#xf…

阅读更多 →
Agentic编排系统落地实践:从CLI设计到Kubernetes调度 2026/9/25 18:09:14

Agentic编排系统落地实践:从CLI设计到Kubernetes调度

1. 从"ax"这个标题说起:一个被低估的编排入口第一次看到"ax"这个标题,很多人会一头雾水——两个字母,没有上下文,没有正文,没有关键词,连摘要都是空的。但如果你把相关热搜词摊开来看&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉