Linux系统调用(syscall)原理
admin 10年前(2016-07-08) 6651浏览
引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构...
admin 10年前(2016-07-08) 6651浏览
引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构...
admin 12年前(2015-03-22) 121浏览
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标...
admin 12年前(2015-03-16) 126浏览
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码...
admin 12年前(2014-07-08) 3395浏览
作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python解释器执行;另一种是命令脚本(command fi...
admin 13年前(2014-04-17) 3658浏览
Stack smashing是堆栈缓冲区溢出(stack buffer overflow)的一个时髦称谓。它表示利用代码中存在的缓冲区溢出bug而发起的攻击。在早期,这完全是程序员的责任,他们要确保代码中不存在缓冲区溢出的问题。但是随着时间推移,技术...
admin 13年前(2014-04-17) 3202浏览
遇到一些无良的idc超卖严重的话分配到我们手里的内存可能并不是标配的内存,这时可以用以下脚本来检测一下。 先关闭swap,这样测出来的才是内存,或者不关闭直接测试然后去除swap值就是真实可用内存了。 关闭SWAP sudo swapoff -a 开...
admin 13年前(2013-06-27) 4356浏览
前言:经我测试在RHEL5 / CentOS5 / FC13都成功了。 首先介绍下一下具体步骤中涉及到的2个频繁的出现的词语: taviso:作者 Tavis Ormandy 的简称,Google信息安全工程师 个人微博:http://my.oper...
admin 15年前(2011-10-03) 16265浏览
gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。 优点:体积小,编译快 缺点:依赖性高 This is The C Code [root@74-82-173-217 shared]...
admin 15年前(2011-10-01) 22087浏览
gcc 静态编译 就是在编译的时候把你所有的模块和库文件编译到一个可执行文件中,当你启动这个程序的时候所有模块和库加载到内存。加快程序执行效率, 优点:速度快,依赖性低 缺点:体积大,加载慢 This is The C Code [root@74-8...