Sendfile 函数在两个文件描述符之间直接传递数据(完全在内核中操作,传送),从而避免了内核缓冲区数据和用户缓冲区数据之间的拷贝,操作效率很高,被称之为零拷贝。
Sendfile 函数的定义如下:
#include
ssize_t sendfile(int out_fd,int in_fd,off_t*offset,size_t count);...
分类:
系统相关 时间:
2015-07-06 19:55:29
阅读次数:
142
在linux中每个被打开的文件都会在/proc/self/fd/目录中有记录,其中(/proc/self/fd/文件描述符号;这个文件是符号文件)的文件就是文件描述符所对应的文件。
而readlink可以取得符号连接所指的文件
函数原型:ssize_t readlink(const char *path, char *buf, size_t bufsiz);函数说明:readlink()会将参数...
分类:
系统相关 时间:
2015-07-06 12:15:15
阅读次数:
181
select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。 对于单进程多线程,每个线程处理多个fd的情...
分类:
其他好文 时间:
2015-07-06 10:28:44
阅读次数:
116
今日在释放内存是发生HEAP corruption Detected問題,纠结了半天。知道是释放的内存地址被改掉了造成的问题。内存在申请时会前后各加4位fd。用来校验。如果内存被该改掉的话后面4位fd会变掉。下面是转载资料:http://www.cppblog.com/kerlw/archive/2...
分类:
其他好文 时间:
2015-07-04 20:53:56
阅读次数:
143
导出命令:netshdhcpserver192.168.0.1scope192.168.0.0dump>d:\dhcp.txt打开导出的dhcp.txt文件,可以看到保留的IP地址和不分配的IP,将其他信息删除导入netsh-fd:\dhcp.txt
mmap,munmap——#include void *mmap(void *addr, size_t length, int prot, int flags,
int fd, off_t offset);
int munmap(void *addr, size_t length);
int mprotect(void *addr, siz...
分类:
其他好文 时间:
2015-07-02 22:40:02
阅读次数:
191
readv 和 writev 函数用于在一次函数调用中读、写多个非连续缓冲区。有时也将这两个函数称为散布读和聚集写。#include ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t writev(int fd, const struct iovec *iov, int iovcnt);这两个函...
分类:
其他好文 时间:
2015-07-02 21:09:31
阅读次数:
259
记录锁的功能是:当一个进程正在读或修改文件的某个部分时,它可以阻止其它进程修改同一文件区。fcntl函数可以实现这一功能。#include int fcntl(int fd, int cmd, ... /* arg */ );对于记录锁,cmd是F_GETLK、F_SETLK或F_SETLKW,第三个参数是一个指向flock结构的指针:struct flock {...
分类:
其他好文 时间:
2015-07-02 19:34:57
阅读次数:
112
源码如下:#include
#include
#include
#include
#include
#include
#include
#include
#include int tty_fd;
in...
分类:
其他好文 时间:
2015-07-02 10:04:43
阅读次数:
126
select函数:#include #include #include #include int select(int nfds, fd_set*readfds, fd_set*writefds, fd_set*ex...
分类:
其他好文 时间:
2015-07-02 06:28:32
阅读次数:
228