[转]C++和JNI的数据转换(三)

来源: http://www.cnblogs.com/daniel-shen/archive/2006/10/16/530587.html

 

Java 测试native代码
这没有什么多说的,看代码吧

// 主测试程序
     public   static   void  main(String[] args)  {
        ChangeMethodFromJni changeJni 
= new ChangeMethodFromJni();

        
//输入常用的数值类型(string int boolean)
        System.out
                .println(
"------------------输入常用的数值类型(string int boolean)-----------");
        changeJni.displayParms(
"Hello World!"100true);

        
//调用一个静态方法
        System.out.println("------------------调用一个静态方法-----------");
        
int ret = changeJni.add(1220);
        System.
out.println("The result is: " + String.valueOf(ret));

        
//输入一个数组
        System.out.println("------------------输入一个数组-----------");
        boolean[] blList 
= new boolean[] truefalsetrue };
        changeJni.setArray(blList);

        
//返回一个字符串数组
        System.out.println("------------------返回一个字符串数组-----------");
        String[] strList 
= changeJni.getStringArray();
        
for (int i = 0; i < strList.length; i++{
            System.
out.print(strList[i]);
        }

        System.
out.println();

        System.
out.println("------------------返回一个结构-----------");

        
//返回一个结构
        DiskInfo disk = changeJni.getStruct();
        System.
out.println("name:" + disk.name);
        System.
out.println("Serial:" + disk.serial);

        
//返回一个结构数组

        System.
out.println("------------------返回一个结构数组 -----------");
        DiskInfo[] diskList 
= changeJni.getStructArray();
        
for (int i = 0; i < diskList.length; i++{
            System.
out.println("name:" + diskList[i].name);
            System.
out.println("Serial:" + diskList[i].serial);
        }


    }

注:本程序在VS2003,eclipse (jse5.0) winxp sp2编译通过

你可能感兴趣的:(数据结构,C++,c,C#,jni)