1.苹果开源代码
2.将ObjC转换成C++
clang -rewrite-objc main.m -o main.cpp
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main-arm64.cpp
3.8字节对齐函数实现
# define WORD_MASK 7UL
size_t word_align(size_t x) {
return (x + WORD_MASK) & ~WORD_MASK;
}
4.App监控
5.网络请求监控
6.内存分配
通过class_getInstanceSize计算变量占用字节(用到内存对齐)size,传递size到calloc分配内存
7、获取类对象真实地址:实例对象 isa &0x0000000ffffffff8ULL
64位ISA_MASK:0x0000000ffffffff8ULL
x86ISA_MASK:0x00007ffffffffff8ULL
网友评论