Nov 30 implement JNI Array

 

Implement a char array print through JNI call.

 

Native method interface

/**
 * native method type
 * @param params : input and output 
 * @return       : > 0 n output has stored into params
 *               : = 0 don't have any output parameters. this meaning void method
 *               : < 0 method execute error
 */
typedef int16 (*native_method_t)(int32 params[]);

 

Array structure

 

struct reference_t
{
    union
    {
        struct class_file_t* clazz;
        int32 atype;
    } type;
    uint16 reference_counter;
    uint16 size;
    // 1 if is multi array
    int16 flags;
    int16 locks;
    union
    {
        int8 int8_value[1];
        uint8 uint8_value[1];
        int16 int16_value[1];
        uint16 uint16_value[1];
        int32 int32_value[1];
        uint32 uint32_value[1];

        int8* int8_pointer[1];
        uint8* uint8_pointer[1];
        int16* int16_pointer[1];
        uint16* uint16_pointer[1];
        int32* int32_pointer[1];
        uint32* uint32_pointer[1];
    } value;
};

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值