能力值:
( LV2,RANK:10 )
|
-
-
26 楼
Object length dex
8 8
sizeof(ArrayObject) == 0x18
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
这个是不是不太对?0x18?
还有啊length为什么8呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
struct的对齐问题
结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
这个对齐我也考虑了,自己写了一个这样的结构体在Linux和Android上都进行了测试:
结构定义是这样:
typedef struct{
int a;
int b;
} Object;
typedef struct{
Object c;
int d;
long long e[1];
} ArrayObject;
在Linux上用gcc编译加-m32运行结果:
sizeof(int): 4
sizeof(long long): 8
sizeof(Object): 8
sizeof(ArrayObject): 20
offsetof(ArrayObject, c): 0
offsetof(ArrayObject, d): 8
offsetof(ArrayObject, e): 12
在Android上用ndk-build编译得到的结果:
sizeof(int): 4
sizeof(long long): 8
sizeof(Object): 8
sizeof(ArrayObject): 24
offsetof(ArrayObject, c): 0
offsetof(ArrayObject, d): 8
offsetof(ArrayObject, e): 16
这个会不会是编译器内置了什么东西控制了内存对齐?还望指教~
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
4.4上我们可以使用Dalvik_dalvik_system_DexFile_openDexFile_bytearray, 5.1上不落地的加载你们有什么思路吗?有参考的博客吗?
|
|
|