摘要: 上图为UNIX操作系统的体系结构。内核的接口被称为系统调用(system call),公用函数库构建在系统调用接口之上,应用软件既可以使用公用函数库,也可直接使用系统调用。 更详细的说明如下: 所有操作系统都提供多种服务的入口点,程序由此向内核请求服务。各种版本的UNIX实现都提供定义明确、数量有限、可直接进入内核的入口点,这些入口点被称为系统调用。 系统调用接口总是在《UNIX程序员手册》的第2部分中说明,在第3部分定义了程序员可以使用的通用函数。虽然这些函数可能会调用一个或多个内核的系统调用,但是它们并不是内核的入口点。 UNIX所使用的技术是为每个系统调用在标准C库中设置... 阅读全文
posted @ 2013-12-25 22:34 ITtecman 阅读(1214) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://www.vckbase.com/index.php/wv/1592 什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。 为什么要引入缓冲区 我们为什么要引入缓冲区呢? 比如我们... 阅读全文
posted @ 2013-12-25 19:41 ITtecman 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 一、研究数据库的人这样理解:http://wenku.baidu.com/view/32b8b13e376baf1ffc4fad7e.html Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很多情况下,这两个名词并没有严格区分,常常把读写混合类型... 阅读全文
posted @ 2013-12-25 19:31 ITtecman 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/wzgyantai-logs/24470871.html 当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是 ... 阅读全文
posted @ 2013-12-25 17:05 ITtecman 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, con... 阅读全文
posted @ 2013-12-25 16:05 ITtecman 阅读(2493) 评论(0) 推荐(0) 编辑
摘要: GCC编译C源程序时出现:错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token,通常是因为在函数声明(包括包含的头文件中的函数声明)后面忘记了分号“;”。仔细检查一遍各个函数声明,把遗漏的分号“;”加上去就可以解决此问题。 阅读全文
posted @ 2013-12-25 11:16 ITtecman 阅读(1938) 评论(0) 推荐(0) 编辑