C/C++
文章平均质量分 69
席喜思
这个作者很懒,什么都没留下…
展开
-
APUE学习(三):进程
目录:1、进程控制原语2、进程状态3、进程权限4、进程效率正文1、进程控制原语fork vfork exec结合进程的memory layout 以及对打开文件的共享fork--- Copy-on-write设计, 父子进程共享原创 2011-09-09 10:27:30 · 766 阅读 · 0 评论 -
APUE学习(四):信号
信号与进程是分不开的,而把信号与进程的笔记分开来写,是因为我觉得这个信号太难搞懂了,特别是APUE信号这一章还把信号结合历史来介绍弄的我云里雾里。 信号本质上是在软件层次上对中断机制的一种模拟,他有几种产生方式和处理方式(APUE有介绍),下面带着疑惑从几个角度对信号进行介绍原创 2011-09-14 11:37:47 · 1186 阅读 · 1 评论 -
C语言函数可变参数
翻apue的时候,看到了一组可变参数的宏就是va_list类似代码void print_arg(int count,...){va_list ap;va_start(ap,count);while(count--)printf("%s",va_arg(原创 2011-08-18 16:38:03 · 478 阅读 · 0 评论 -
为什么C++编译器不支持模板头文件和实现代码分离的编译
之前也看到过编译和链接的过程以及原理,今天无意间看到这篇文章作者从编译和链接的角度详细阐述了模板的实现、具现、编译和链接。读完真是特别爽。另一篇专门介绍分离编译和包含编译的文章 zz http://blog.csdn.net/thinkscape/article/detail转载 2011-09-21 11:02:51 · 597 阅读 · 0 评论 -
Linux 时间计量与日历时间转换(附代码)
(一) Linux 的 时间概念 Linux 系统下统计程序运行实践最简单直接的方法就是使用 time 命令,此命令的用途在于测量特定指令执行时所需消耗的时间及系统资源等资讯,在统计的时间结 果中包含以下数据: (1) 实际时间( real tim原创 2011-09-27 14:56:06 · 2556 阅读 · 0 评论 -
APUE笔记(一):IO效率
2011 -8-24 补充:1、这里的缓冲不缓冲是针对用户进程而言,磁盘IO肯定会经过内核的高速缓冲,而标准IO呢也使用了缓存(类似我们程序中的BUFFER),如果在标准IO中直接调用系统调用的fsync呢,也不能把缓冲刷到磁盘或者输出中,因为BUFFER在标准IO的缓存中,原创 2011-08-23 15:09:10 · 730 阅读 · 0 评论 -
CriticalSection
实际上对 CRITICAL_SECTION 的操作非常轻量,为什么还要加上旋转锁的动作呢?其实这个函数在单cpu的电脑上是不起作用的,只有当电脑上存在不止一个cpu,或者一个cpu但多核的时候,才管用。 如果临界区用来保护的操作耗时非常短暂,比如就是保护一个referencecounter,或者某一个flag,那么几个时钟周期以后就会离开临界区。可是当这个thread还没有离开临界区之前,转载 2012-03-05 11:42:59 · 2437 阅读 · 0 评论 -
内联函数、模板函数 之于头文件
一、基本说明C++标准中提到,一个编译单元[translationunit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件,后者拥有PE[PortableExecutable,即Windows可执行文件]文件格式,并且本身包含的就已经是二进制码,但是,不一定能够执行,因为并不保证其原创 2012-03-05 11:32:08 · 3352 阅读 · 1 评论