1 #include 2 3 int main() 4 { 5 FILE * fd = fopen("btoo1.c", "ab+"); 6 fpos_t p ; 7 int fp = fgetpos(fd, &p); 8 printf("bef seek: f...
分类:
移动开发 时间:
2014-07-28 19:06:24
阅读次数:
229
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *time...
分类:
其他好文 时间:
2014-07-28 15:00:53
阅读次数:
241
最近工作中需要客户端和服务器使用https协议进行通信,我负责客户端程序的编写,想到以前在深入理解操作系统中看过web服务器的实现,代码整理如:
#include"apue.h"
extern char **environ;
void clienterror(int fd,char *cause,char *errnum,char *shortmsg,char *longmsg)
{...
分类:
Web程序 时间:
2014-07-28 00:19:59
阅读次数:
325
背景:
我们在开发linux在线服务器的时候经常会遇会句柄泄露的问题。因为在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个fd,即是文件句柄。如果频繁的打开文件,或者打开网络套接字而忘记释放就会有句柄泄露的现象。在linux系统中对进程可以调用的文件句柄数进行了限制,在默认情况下每个进程可以调用的最大句柄...
分类:
系统相关 时间:
2014-07-28 00:13:09
阅读次数:
501
??高级I/O函数pipe函数pipe函数用于创建一个管道,实现进程间的通信。#include int pipe(int pipefd[2]);通过pipe函数创建的文件描写叙述符fd[0]和fd[1]分别构成管道的两端,往fd[1]写入的数据能够从fd[0]读出,不能反过来。管道内部传输的数据时字...
分类:
系统相关 时间:
2014-07-26 16:52:11
阅读次数:
379
网上看到的一个H264视频格式的解码測试程序,能够用来參考其逻辑流程。代码例如以下:Test_Display_H264(){in_fd = open(H264_INPUT_FILE, O_RDONLY); //video file openfstat(in_fd, &s); // get inpu....
分类:
其他好文 时间:
2014-07-26 14:23:40
阅读次数:
267
1. fork 1.1 通过 fork 创建的父子进程对于fork之前打开的fd,共享文件偏移量。这是因为,父进程fork一个子进程后,会有自己的进程表项,因此二者各有一套相同的文件描述符表,他们共享了文件表项,因而也就共享了偏移量。此外,close 的关闭采用的是引用计数,当执行close时,是....
分类:
系统相关 时间:
2014-07-26 01:52:56
阅读次数:
326
1. readn 和 writen 1.1 基础巩固: read 和 write 函数的返回值 1.1.1 read 函数原型为:ssize_t read(int fd, void* buf, size_t count); (这里的 void *在标准 C 中表示通用指针即任意类型的指针都可...
分类:
系统相关 时间:
2014-07-26 01:51:56
阅读次数:
472
今天手贱更新了一下openfl,fd里面又各种报错。最伤心的是,之前修改MainView.java输入中文的方法现在居然失效了。还好这段时间研究c2dx,总算是能读能懂修改的那段代码,捣鼓了一下午,算是解决了。
分类:
移动开发 时间:
2014-07-24 22:14:52
阅读次数:
270
1. dup 函数 1.1 dup 函数用来复制一个文件描述符,复制后的文件描述符可以正常使用(见例1)。dup函数返回当前文件描述符表中一个最小的可用的文件描述符(Linux下分配文件描述符的规则是:寻找最小可用),这个过程由系统来完成。dup函数成功执行后,两个文件描述符fd_1 和 fd_2....
分类:
系统相关 时间:
2014-07-24 05:01:18
阅读次数:
374