如何通过JNI在Java中调用C库函数
native void printHello();
native void printString(String str);
static { System.loadLibrary("JNITest");}
public static void main(String[] args) {
JNITest myTest = new JNITest();
myTest.printHello();
myTest.printString("Hello, JNI's world!");
}
}
#include <stdio.h>
JNIEXPORT void JNICALL Java_JNITest_printHello
(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}
JNIEXPORT void JNICALL Java_JNITest_printString
(JNIEnv *env, jobject obj, jstring string)
{
const char *str = (*env)->GetStringUTFChars(env, string, 0);
printf("%s!\n", str);
return;
}
Hello, JNI's world!!
转载于:https://www.cnblogs.com/sunjinbo/archive/2012/08/24/2654668.html
如何通过JNI在Java中调用C库函数相关推荐
- java调用jni接口,Java 中通过jni接口调用native code
[ Java语言本身是通过Java的虚拟机解释执行的,因此对于Java中调用本地动态链接库的问题便提上了日程,为何会存在这样的需求呢?因为Java本身的机制导致一些要求高效率 在上上篇中已经介绍 ...
- java 调用 go_实践总结:在 Java 中调用 Go 代码
在 Java 中调用 Go 的大致过程如下go --> cgo --> jna --> java 整个过程要解决的问题主要两个:数据类型在两种语言中如何转化 何时清理无用的数据 下面 ...
- java中调用 dll 动态库的简洁方法 JNative
Java中调用DLL方法,是通过JNI接口实现的,http://www.ibm.com/developerworks/cn/java/l-linux-jni/ 这里有详细的说明.大概是先用Java写一 ...
- Java中调用C++代码
Java中调用C++代码 1.Idea创建一个Solution类 public class Solution {public native void sayHello();static{System. ...
- 一步一步教会你JAVA中调用C++
装载自:http://blog.csdn.net/chenjin_zhong/article/details/5870305 一.JNI简介 JNI:Java Native Interface,是Ja ...
- java中调用dll文件的两种方法
https://www.cnblogs.com/huozhong/p/5830485.html JNA地址:http://blog.csdn.net/shendl/article/details/35 ...
- JAVA中调用C语言函数简单教程
背景知识 本地代码 在JAVA中使用其他语言的代码(如C/C++)称为本地代码. 历史原因 JAVA的早期阶段,很多人认为使用C和C++来加速JAVA应用中的关键部分是个好主意,但是实际上,虽然JAV ...
- java中调用c_java中调用c语言函数?
拉丁的传说 要在java中调用c语言的库,需要使用Java提供了JNI.举例说明在c语言中定义一个 void sayHello()函数(打印Hello World);然后在Java中调用这个函数显示H ...
- java中调用python
在Java中调用Python </h1><div class="clear"></div><div class="postBod ...
最新文章
- 几个非常低调的公众号!但副业月入早已过3万...
- java建造_java建造者模式
- redis 漏洞利用与防御
- mysql5.7.12 my.ini文件_MySQL5.7缺少my.ini文件的解决方法
- 基于UML的面向对象分析与设计
- 集群服务负载均衡------LVS
- php curl cookie,php中curl获取返回页面的cookie
- IDEA显示完整目录,取消合并的文件,取消“ . “ 的这种目录
- WCF之旅读书笔记(2):WCF如何通过Binding进行通信
- vbs按钮传递过程_iOS面试题:事件传递和响应机制
- protobuf 编码实现解析(java)
- 无错版Vsftpd Mysql Pam设置虚拟用户要领
- 7、网友问答之ASCII字符传转换为数值-------------labview宝典
- 工业互联网标识解析与标识服务机构服务能力成熟度等级评估管理平台【需求规格说明书/用户手册】
- Linux libaio 实例,linux libaio安装
- 2021鹏业安装算量软件常见问题整理(六)
- 个人防骗大全精选(1)
- mySQL 2502 2503错误
- effective C++条款四十三解读
- 删除文件夹时显示文件已在另一个程序中打开的解决方法
热门文章
- boa服务器 系统设置,Ubuntu中配置boa服务器
- python延时队列_超简便Python任务队列:huey
- 数据库SQL命令经典面试题65道
- JPA#Interfaces总结
- gdb+zbacktrace找到cpu过高php代码
- Keepalived实现双机热备
- 跨浏览器检测某个节点是不是另一个节点的后代
- 微信公众平台开发--判断终端使用的浏览器是否是微信浏览器
- 解决织梦 \include\userlogin.class.php on line 21(或16) 报错的方法
- 对python文件方法open的探究