在前面,我们接触到了很多函数能够实现系统相关的功能,比如解析命令行参数.控制进程以及映射内存等等.实际上,这些函数能够分为两大类: 库函数--这些函数就像普通函数一样,参数放置在寄存器或者栈里,运行时就从动态库里加载. 系统调用--这类函数的参数被打包传递到内核,由内核执行作业.例如低级I/O操作,open或者read. Linux提供了200多种不同的系统调用.他们大多声明在/usr/include/asm/unistd.h文件里. 1 strace命令 strace命令能够跟踪另一个程序的执…