windows下java JNI编程技巧——JAVA调用c/c++(1)

来源:互联网 发布:网络虚拟信用卡 编辑:程序博客网 时间:2024/05/18 02:00
步骤 1:编写 Java 代码
我们从编写 Java 源代码文件开始,它将声明本机方法(或方法),装入包含本机代码的共享库,然后实际调用本机方法。

这里是名为JNI_javaCallc_test:

直接使用文本编辑器或在ecilpos中建立工程敲入以下代码:

package test;public class JNI_javaCallc_test {//c/c++本地方法public native int intMethod(int n);public native boolean booleanMethod(boolean bool);public native String stringMethod(String text);public native int intArrayMethod(int[] intArray);//java main方法public static void main(String[] args){//包含c语言动态库System.loadLibrary("test_JNI_javaCallc_test");JNI_javaCallc_test sample = new JNI_javaCallc_test();int square = sample.intMethod(5);boolean bool = sample.booleanMethod(true);String text =sample.stringMethod("JAVA");  int sum = sample.intArrayMethod(new int[] { 1, 1, 2, 3, 5, 8, 13 });System.out.println("intMethod: " + square);System.out.println("booleanMethod: " + bool);System.out.println("stringMethod: " + text);System.out.println("intArrayMethod: " + sum);}}

这段代码做了些什么?
    首先,请注意对 native 关键字的使用,它只能随方法一起使用。
    native 关键字告诉 Java 编译器:方法是用 Java 类之外的本机代码实现的,但其声明却在 Java 中。只能在 Java 类中声明本机方法,而不能实现它(但是不能声明为抽象的方法,使用native关键字即可),所以本机方法不能拥有方法主体。

现在,让我们逐行研究一下代码:

从第 6 行到第 12 行,我们声明了四个 native 方法。
在第 17 行,我们装入了包含这些本机方法的实现的共享库文件。(到步骤 5 时,我们将创建该共享库文件。)
最终,从第 21 行到第 27 行,我们调用了本机方法。
注:这个操作和调用非本机 Java 方法的操作没有差异。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 狗狗体力很差怎么办啊 脉差总是五十多怎么办 吃过敏药嗜睡乏力怎么办 写字紧张心跳的快手抖怎么办 怀孕食欲差没精神怎么办 爬个三楼就喘了怎么办 头被篮球砸了怎么办 打球手指肿了很久怎么办 客人吃饭跑单了怎么办 脑子总是记不住东西怎么办 穿的鞋有味道怎么办 生完孩子血糖高怎么办 生了孩子子宫大怎么办 生完孩子阴吹怎么办 怀孕初期感冒嗓子发炎怎么办 脑子转不过来弯怎么办 他说我道行不深怎么办 鞋子内测磨破了怎么办 老公拉肚子拉的很厉害怎么办 老公拉肚子拉得很厉害怎么办 和老公吵架很厉害怎么办 新鞋鞋底吱吱响怎么办 新鞋鞋底滑了怎么办 工作中同事不配合怎么办 做体力活一身疼怎么办 大脑左则中动脉血管狭窄?怎么办 儿童体质差免疫力差怎么办 nba篮球大师体力不够怎么办 一千米差10秒怎么办 四十岁以后体力和耐力差怎么办 打篮球一打比赛就紧张怎么办 耐克空军鞋鞋底边胶掉了怎么办 鞋底踩到老鼠胶怎么办 头蒙怎么办最快最有效 备孕老公压力大怎么办 宝宝太兴奋不睡怎么办 我很烦只睡三小时觉怎么办才好 柯基精力太旺盛怎么办 孩子学习熬夜精力不足怎么办 肺癌晚期吃不下饭怎么办 这俩天吃药太多肝肾功能不好怎么办