java跨平台
来源:互联网 发布:java log4j 多线程 编辑:程序博客网 时间:2024/06/05 12:10
跨语言、跨平台调用的难点,就是不同语言之间数据类型不一致。
使用JNI,你必须手工用C写一个动态链接库,在C语言中映射java的数据类型。
使用JNA,由于它自身了提供了一个动态的c语言编写的转发器,可以自动实现java和C的数据类型映射,你不再需要编写C动态链接库
使用JNA例子:
1、下载jna.jar包
2、在java项目中引入该jar包
3、创建一个类
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
/** Simple example of native library declaration and usage. */
public class HelloWorld {
public interface CLibrary extends Library {
CLibrary INSTANCE = (CLibrary)
Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "c"),
CLibrary.class);
void printf(String format, Object... args);
}
public static void main(String[] args) {
CLibrary.INSTANCE.printf("Hello, World/n");
for (int i=0;i < args.length;i++) {
CLibrary.INSTANCE.printf("Argument %d: %s/n", i, args[i]);
}
}
}
4、执行可以在控制台中看到输出
Hello, World
- Java跨平台中的平台
- Java的跨平台
- Java的跨平台
- Java跨平台
- java跨平台原理
- java跨平台
- JAVA 跨平台原理
- 浅谈java跨平台
- java 跨平台
- Java跨平台原因
- java跨平台
- Java跨平台原理
- Java跨平台原理
- Java跨平台原理
- java跨平台
- Java跨平台原理
- java实现跨平台
- Java跨平台原理
- CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别 2010-11-8 23:10
- python的map和zip操作
- C++基础题目
- url 2010-11-8 23:23
- 经典书目
- java跨平台
- SQL集合函数中case when then 使用技巧
- ios 字符串
- android 多线程断点续传下载 三
- MFC在状态栏实时显示系统时间
- shell遍历目录下所有文件(转自http://blog.163.com/clevertanglei900@126/blog/static/111352259201162553652150/)
- MySQL 导出重复的数据
- 深入了解字符集和编码问题 2010-11-9 17:42
- 编程之美_003让CPU占用率划出一条直线