CSKY CVM jni环境搭建
2016-04-25 15:14
267 查看
1、编译CVM
2、在cvm/cdc/src/share/cdc/demo/cdc/HelloWorld.java中,
3、生成.class
$ javac HelloWorld.java
4、生成头文件:
javah -jni cdc/HelloWorld
5、动态库:
$ testprintf.c
6、运行:
2、在cvm/cdc/src/share/cdc/demo/cdc/HelloWorld.java中,
package cdc; public class HelloWorld { + private static native void testprintf(); public static void main(String args[]) { System.out.println("Hello world!!!!!!!!!!."); + testprintf(); } + static { + System.loadLibrary("testprintf"); + } }
3、生成.class
$ javac HelloWorld.java
4、生成头文件:
javah -jni cdc/HelloWorld
5、动态库:
$ testprintf.c
#include <jni.h> #include "cdc_HelloWorld.h" #include <stdio.h> void func(void) { volatile long long num = 0x1122334455667788; printf("%llx\n", num); return; } JNIEXPORT void JNICALL Java_cdc_HelloWorld_testprintf (JNIEnv *env, jobject obj) { volatile long long num1 = 0x1122334455667788; volatile double num2 = 0.123456789; printf("%llx %lf\n", num1, num2); func(); return; }编译动态库
/tools/csky/csky-tools/uclibc/csky-linux-tools-x86_64/bin/csky-linux-gcc -I/usr/lib/gcc/x86_64-redhat-linux/3.4.3/include -c -o testprintf.o testprintf.c -fPIC /tools/csky/csky-tools/uclibc/csky-linux-tools-x86_64/bin/csky-linux-gcc -shared -o libtestprintf.so testprintf.o -fPIC cp libtestprintf.so /home/rtos_nfs/chenlf/rootfsle2/lib/
6、运行:
$ mkdir rootfs/cdc-cvm_1.2-linux_cskyv1_ck610-bin/cdc $ cd rootfs/cdc-cvm_1.2-linux_cskyv1_ck610-bin/ $ cp cdc/HelloWorld.class rootfs/cdc-cvm_1.2-linux_cskyv1_ck610-bin/cdc $ ./bin/cvm cdc.HelloWorld
相关文章推荐
- 自定义一个WPF的PathButton
- jquery上传文件插件-puupload.js
- 机器学习相关——协同过滤
- SSL协议
- 清除WKWebView cookies
- WPF去边框与webbrowser的冲突
- Android方法记录
- MFC窗口初始最大的问题
- cocos2d-C++ 学习UI控件(三)之 LoadingBar|ScrollView
- mysql命令大全
- 十二、oracle 数据库(表)的逻辑备份与恢复
- redhat配置centos网络yum源
- 常用设计模式总结
- StringBuilder与StringBuffer的区别
- js去除数组中重复的数字
- [HDOJ5521]Meeting(最短路)
- 自动设置IP地址的BAT
- JVM字节指令详解
- Zabbix 监控Redis
- 一个话务员给n个人打了n次电话,但是话务员记性不好,没记得给谁打过,没接到电话的人占总人数的多少