Linux系统调用(syscall)原理
admin 9年前 (2016-06-11) 6076浏览 0评论
引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构...
admin 9年前 (2016-06-11) 6076浏览 0评论
引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构...
admin 10年前 (2015-02-16) 3028浏览 0评论
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码...
admin 11年前 (2014-08-10) 2635浏览 0评论
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标...
admin 11年前 (2014-07-08) 3008浏览 0评论
作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python解释器执行;另一种是命令脚本(command fi...
admin 11年前 (2014-04-17) 2948浏览 0评论
遇到一些无良的idc超卖严重的话分配到我们手里的内存可能并不是标配的内存,这时可以用以下脚本来检测一下。 先关闭swap,这样测出来的才是内存,或者不关闭直接测试然后去除swap值就是真实可用内存了。 关闭SWAP sudo swapoff -a 开...
admin 11年前 (2014-04-17) 3258浏览 0评论
Stack smashing是堆栈缓冲区溢出(stack buffer overflow)的一个时髦称谓。它表示利用代码中存在的缓冲区溢出bug而发起的攻击。在早期,这完全是程序员的责任,他们要确保代码中不存在缓冲区溢出的问题。但是随着...
admin 12年前 (2013-06-27) 3990浏览 0评论
前言:经我测试在RHEL5 / CentOS5 / FC13都成功了。 首先介绍下一下具体步骤中涉及到的2个频繁的出现的词语: taviso:作者 Tavis Ormandy 的简称,Google信息安全工程师 个人微博:http://my.oper...
admin 12年前 (2013-04-16) 2926浏览 0评论
场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,...
admin 12年前 (2013-04-16) 2817浏览 0评论
由于毕业设计开发的平台是Linux, 为了在Linux进行,Makefile的编写是必不可少的,为偷懒,我想使用autotools来进行Makefile的自动生成,在阅读大量的资料后,在理解的基础之上,做了一个小实验,过程记录得非常详细! 我的平台是...
admin 13年前 (2011-10-03) 2750浏览 0评论
gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。 优点:体积小,编译快缺点:依赖性高This is Th...
admin 13年前 (2011-10-01) 3827浏览 0评论
gcc 静态编译 就是在编译的时候把你所有的模块和库文件编译到一个可执行文件中,当你启动这个程序的时候所有模块和库加载到内存。加快程序执行效...
admin 16年前 (2009-08-11) 2782浏览 0评论
在LINUX下开发,如果不会用Makefile,那是一件多么可笑的事! 以前只学了一些Makefile的最最基础的知识,今天又在《Linux c 编程一站式学习》中看到了Makefile的用法,于是下定决心把自己的Makefile提高一个档次。
admin 16年前 (2009-08-06) 2794浏览 0评论
* 编译加速
$ gcc -pipe foo.c -o foo
* 文件扩展名
.c C 原始程序;
admin 16年前 (2009-08-04) 2782浏览 0评论
GCC是LINUX平台下最强大的编译器,它不仅能编译C/C++,object c,它还可以通过不同的前端模块来支持各种语言,如 Java、Fortran、