地狱怪客

Playing with ptrace, Part I – 玩转ptrace(一)

译者序:在开发Hust Online Judge的过程中,查阅了不少资料,关于调试器技术的资料在网上是很少,即便是UNIX编程巨著《UNIX环境高级编程》中,相关内容也不多,直到我在http://www.linuxjournal.com上找到这篇文章,如获至宝,特翻译之,作为鄙人翻译技术文档的第一次尝试,必定会有不少蹩脚之处,各位就将就一下吧,欢迎大力拍砖。 你想过怎么实现对系统调用的拦截吗?你尝 […]

JNI编程资料

http://www.cnblogs.com/youxilua/archive/2011/09/16/2178554.html http://www.cnblogs.com/mandroid/archive/2011/06/15/2081093.html http://blog.csdn.net/banketree/article/details/40535325 http://blog.csdn […]

ptrace define

1. definition long ptrace(int request, pid_t pid, void * addr, void * data) request , trace type; the request determine the meaning of the other parameters and return value. 2. possibility of request […]

MinHash原理与应用

MinHash首先它是一种基于 Jaccard Index 相似度的算法,也是一种LSH的降维的方法,应用于大数据集的相似度检索、推荐系统。下边按我的理解介绍下MinHash。 举例A,B 两个集合: A = {s1, s3, s6, s8, s9} B = {s3, s4, s7, s8, s10} 根据Jaccard Index公式,A,B的相似度 S(A,B) = |A∩B|/|A∪B| = […]

LLVM linux Android NDK

解压位置:/home/hellbo/Desktop/android-ndk-r10 #vim /etc/profile #set NDK env NDKROOT=/home/hellbo/Desktop/android-ndk-r10 export PATH=$NDKROOT:$PATH export LLVM=/opt/android-ndk-r10b     编译说明, 先 […]

ARM(Android NDK)混编C/C++汇编

在进行Android开发时,一般考虑加速某些算法处理速率时,需要使用NDK进行开发, 为了进一步加速程序执行速率,还可以进行汇编级别的优化。 比如采用 NEON 技术进行代码的优化,以实现模块处理效率的成倍增长。 在C/C++中使用内联汇编的用法如下:  

arm BL跳转指令计算方法

SrcAddr + (x << 2 + 8) = DstAddr x = ((DstAddr – SrcAddr) – 8) >> 2   关于ARM的B,BL跳转指令: 假设跳转指令处的地址是A,跳转目标处的地址是B. B,BL指令保存的是偏移地址,这个地址的计算方法是: 1.B-(A+8).A+8是因为ARM的流水线使得指令执行到A处时 […]

acquire_wake_lock保持后台唤醒状态

int Sub_WakeLock() { int result; // r0@2 if ( !bIs_wake_lock ) { result = acquire_wake_lock(1, “clock”); bIs_wake_lock = 1; } return result; }   一些手机app(如微信、QQ等)有新消息来到达,手机屏幕即使在锁屏状态下也会 […]