打开文件,打开文件一定要成对写,养成好习惯很重要。比如 fopen()fclose fopen()/* fopen() */FILE *fopen(const char *path, const char *mode);FILE *fdopen(int fd, const char *mode);F...
分类:
其他好文 时间:
2015-11-21 18:25:18
阅读次数:
122
简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用;而流(如: fo...
分类:
系统相关 时间:
2015-11-21 18:22:24
阅读次数:
235
fcntl()函数可以改变已打开文件的性质 #include #include int fcntl(int fd , int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct ...
分类:
其他好文 时间:
2015-11-21 18:12:11
阅读次数:
188
首先还是来看常见的select和poll。对于网络编程来说,一般认为poll比select要高级一些,这主要源于以下几个原因:poll() 不要求开发者计算最大文件描述符加一的大小。poll() 在应付大数目的文件描述符的时候速度更快,因为对于select()来说内核需要检查大量描述符对应的fd_s...
分类:
其他好文 时间:
2015-11-20 17:38:48
阅读次数:
127
利用select 函数 实现sleep达到纳米级 。 ?当然这个数据计算出来不准确,本身就包含程序执行本身消耗的数量。 ?原理是把select read write except ?fd_set 全部设为NULL,这样select 就可以等待指定的时间。...
分类:
其他好文 时间:
2015-11-18 00:55:07
阅读次数:
209
上传: 1.html5 的FormData对象实现 var fd = new FormData(document.getElementById("fileinfo"));fd.append("CustomField", "This is some extra data");$.ajax({ u...
分类:
Web程序 时间:
2015-11-17 00:10:00
阅读次数:
451
在写这段代码的时候,发现很多地方容易弄错。select有可能会出错,返回-1。比如int FD_ISSET(int fd,fd_set *fdset);void FD_CLR(int fd,fd_set *fdset);void FD_SET(int fd,fd_set *fdset);void ....
分类:
系统相关 时间:
2015-11-16 19:40:19
阅读次数:
238
keil4破解心得.\Obj\STM32_FD_SDCard_MP3.axf:error:L6047U:Thesize&nb在编译时出现.\Obj\STM32_FD_SDCard_MP3.axf: error: L6047U: The size of this image (194237 bytes...
分类:
其他好文 时间:
2015-11-14 20:39:32
阅读次数:
453
1 fd = open("./newfile", O_RDWR|O_CREAT|O_APPEND, S_IRUSR|S_IWUSR); 2 if ( fd < 0 ) 3 { 4 perror("open"); 5 return -1; 6 } 7 pos = lsee...
分类:
移动开发 时间:
2015-11-14 12:25:50
阅读次数:
349
在linux的网络编程中,新的事件触发机制-epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。...
分类:
其他好文 时间:
2015-11-11 13:29:12
阅读次数:
314