#define _LIBRARY_
#include<unistd.h>
/*
*复制文件描述符函数
*下面该调用宏函对应:int dup(int fd).直接调用了系统中断int 0x80
*参数是_NR_dup,其中fd是文件描述符
*/
_syscall1(int,dup,int,fd);
该程序包括一个创建文件描述符拷贝的函数dup().在成功返回后,新的和原来的描述符可以交替使用,他们共享锁定、文件读写指针以及文件标志。例如,如果一个文件读写位置指针被其中一个描述符使用lseek()修改过之后,则对于另一个描述符来讲,文件读写指针也被改变。该函数使用数值最小的未使用描述符来建立新描述符.但是这两个描述符并不共享执行时关闭标志(close-on-exec).