Linux编程
cradle08
自强不息,敢为人先。
展开
-
ftok 函数解析
头文件#include sys/types.h>#include 函数原型:key_t ftok( const char * fname, int id )fname就是你指定的文件名(已经存在的文件名),一般使用当前目录,如:key_t key;key = ftok(".", 1); 这样就是将fname设为当前目录。id是子序号。在一般的UNIX实现中,是将原创 2014-05-06 18:57:53 · 943 阅读 · 0 评论 -
缓冲式I/O--文件流
一,流与缓冲 流I/O是由C语言的标准函数提供的,这些I/O可以替代系统中提供的read和write函数。事实上流I/O的内部封装了这两个基本的文件读写系统调用。使用流I/O在某些程度上来讲要方便一些,这些I/O在效率上没有特别大的差异。 基于流的操作最终会调用read或者write函数进行操作。为了使程序的运行效率最高,流对象通常会提转载 2014-09-15 15:03:55 · 703 阅读 · 0 评论 -
Linux多线程编程详细解析----条件变量 pthread_cond_t
Linux多线程编程详细解析----条件变量 pthread_cond_t分类: Linux/Shell 2010-11-24 11:30 13562人阅读 评论(0)收藏 举报多线程编程linuxsignalnullgccLinux操作系统下的多线程编程详细解析----条件变量 1.初始化条件变量pthread_cond_init#转载 2014-09-11 16:35:04 · 744 阅读 · 0 评论 -
linux 文件锁 fcntl
一.fcntl()函数说明:当多个用户共同使用、操作一个文件的情况下,这时,Linux通常采用的方法是给文件上锁,来避免共享的资源产生竞争的状态。文件锁包括建议性锁和强制性锁。建议性锁要求每个上锁文件的进程都要检查是否有锁存在,并且尊重己有的锁。在一般情况下,内核和系统都不使用建议性锁。强制性锁是由内核执行的锁,当文件上锁进行写入操作时,内核将阻止其他任何文件对其进行读写操作。采用强制性锁转载 2014-05-12 16:10:20 · 2435 阅读 · 0 评论 -
select函数详解及实例分析
select函数详解及实例分析 Select函数在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)转载 2014-07-08 11:50:36 · 547 阅读 · 1 评论 -
线程栈的说明、使用及解析
线程栈: 线程包含了表示进程内执行环境必需的信息,其中包括进程中标示线程的线程ID,一组寄存器值,栈,调度优先级和策略, 信号屏蔽字,errno变量以及线程私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局内存和堆内存,栈以及文件描述符,所以线程的mm_struct *mm指针变量和所属进程的mm指针变量相同。线程栈默认的大小:转载 2014-07-22 00:12:27 · 7382 阅读 · 0 评论 -
关闭套接字的安全处理
.如果在发送数据的过程中send()没有完成,还有数据没发送,而调用了closesocket(),以前一般采取的措施是shutdown(s,SD_BOTH),但是数据将会丢失。某些具体程序要求待未发送完的数据发送出去后再关闭socket,可通过设置让程序满足要求:struct linger {u_short l_onoff;u_short l_linger;};ling原创 2014-06-25 19:34:58 · 1774 阅读 · 0 评论 -
shutdown函数解析
shutdown()简述:禁止在一个套接口上进行数据的接收与发送。Linux:#includeint shutdown(int sockfd,int how);linux下成功则返回0,错误返回-1,错误码errno:EBADF表示sockfd不是一个有效描述符;ENOTCONN表示sockfd未连接;ENOTSOCK表示sockfd是一个描述符而不是socket描述符原创 2014-06-25 19:19:18 · 1826 阅读 · 0 评论 -
linux 共享内存(shmget,shmat,shmdt,shmctl)解析
shmgetint shmget(key_t key, size_t size, int shmflg);key: 标识符的规则size: 共享存储段的字节数flag: 读写的权限还有IPC_CREAT或IPC_EXCL对应文件的O_CREAT或O_EXCL返回值: 成功返回共享存储的id,失败返回-1key_t key------------转载 2014-05-13 07:39:26 · 5318 阅读 · 0 评论 -
Linux 2.6 中的直接 I/O 技术
所有的 I/O 操作都是通过读文件或者写文件来完成的。在这里,我们把所有的外围设备,包括键盘和显示器,都看成是文件系统中的文件。访问文件的方法多种多样,这里列出下边这几种 Linux 2.6 中支持的文件访问方式。在 Linux 中,这种访问文件的方式是通过两个系统调用实现的:read() 和 write()。当应用程序调用 read() 系统调用读取一块数据的时候,如果该块数据已转载 2014-09-15 10:30:05 · 522 阅读 · 0 评论