C
文章平均质量分 76
zhengdl126
这个作者很懒,什么都没留下…
展开
-
C语言main()函数详解
C的设计原则是把函数作为程序的构成模块。main()函数称之为主函数,一个C程序总是从main()函数开始执行的。 一、main()函数的形式 在最新的 C99 标准中,只有以下两种定义方式是正确的: int main( void ) /* 无参数形式 */ { ... return 0; } int main...原创 2012-11-30 17:27:51 · 221 阅读 · 0 评论 -
C语言库——静态库、共享库
http://www.cnblogs.com/hoys/archive/2011/07/25/2116601.html 我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的 可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,使用时直接调用就会很方便,还可以进行后期的功能升级。 ...原创 2012-12-20 17:25:06 · 62 阅读 · 0 评论 -
Unix操作系统硬链接与符号链接的区别
Unix操作系统有很多值得学习的地方,这里我们主要介绍Unix操作系统中的硬链接与符号链接的区别,大家一起来学习下吧!硬链接典型的特征就 是,所有文件的i节点号是一样的;硬链接不是文件拷贝,只是增加了一个i节点链接(或者说增加了一个入口指针),所有的硬链接都是权力(权限,大小)均等 的,修改任意一个,其他也被修改。 i节点结构中有一个很重要的字段就是链接数。所以删除一个文件,不一定就会真的释...原创 2012-12-10 16:08:47 · 185 阅读 · 0 评论 -
stat,fstat以及lstat函数:检查文件的属性
头文件:#include <sys/stat.h> #include <unistd.h> 定义函数:int stat(const char * file_name, struct stat *buf); 函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中 。 我们使用函数stat...原创 2012-12-05 16:52:44 · 328 阅读 · 0 评论 -
fcntl:文件进锁操作的函数
(1)fcntl函数说明 前面的这5个基本函数实现了文件的打开、读写等基本操作,这一节将讨论的是,在文 件已经共享的情况下如何操作,也就是当多个用户共同使用、操作一个文件的情况,这时,Linux 通常采用的方法是给文件上锁,来避免共享的资源产生竞争的状态。 文件锁包括建议性锁和 强制性锁 。 建 议性锁要求每个上锁文件的进程都要检查是否有锁存,并且尊重已有的锁。在一般情况下,...原创 2012-12-04 18:00:10 · 178 阅读 · 0 评论 -
刷磁盘缓冲:sync、fsync和fdatasync
传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘 I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满 或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写 (delayed write)(Ba...原创 2012-12-04 17:37:59 · 520 阅读 · 0 评论 -
unix环境高级编程-3.10-文件共享 和原子操作
http://blog.csdn.net/wallwind/article/details/6882498 unix系统支持在不同进程间共享打开的文件。 内核使用三种数据结果表示打开的文件。 (1)每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件的描述符表,可将其视为一个矢量,每个描述符占用一项。 每个文件描述符相关连的是: 文件描述...原创 2012-12-03 22:27:51 · 115 阅读 · 0 评论 -
【汇总】C语言基础
char buf[1024]={0}; 就是临时申请一个 1024大的空间(又叫buffer),并且初始化为0。 char buf[1024*4]={0}; 这个和上面一摸一样,临时申请了一个 1024*4 大的空间,并初始化为0。 ================== C语言中#define 有的时候为了程序的通用性,可以使用#define预处理宏定义...原创 2012-12-01 15:06:44 · 134 阅读 · 0 评论 -
【汇总】C语言函数
http://see.xidian.edu.cn/cpp/u/hanshu/ C语言函数手册 http://blog.csdn.net/wallwind/article/category/906727 UNIX环境高级编程 ================ open 头文件:#include <sys/types.h> #in...原创 2012-12-01 15:00:43 · 186 阅读 · 0 评论 -
void与void*详解
void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型; 2. 如果函数无参数,那么应声明其参数为void; 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ; 4. void不能代表一个真实的变量; voi...原创 2012-11-30 18:15:04 · 94 阅读 · 0 评论 -
c语言setjmp 与 longjmp(类似try..catch)
setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理。 先来看一下这两个函数的定义吧: setjmp和longjmp的函数原型在setjmp.h中 函数原型: int setjmp(jmp_buf envbuf); setjmp函数用缓冲区envbu...原创 2012-12-21 14:33:44 · 160 阅读 · 0 评论