摘要: 转自:http://www.cppblog.com/xczhang/archive/2008/01/09/40829.html宏定义可以提高效率,但是宏不是函数。预编译通过代码复制的方式代替函数调用,省去了诸如函数压栈等系统过程,从而提高了效率。但是由于宏定义仅仅是代码替换,所以引起很多问题。#define MAX(a,b) (a) > (b) ? ( a) : (b)result=MAX(A,B)+2 编译器对其解释为 (a) > (b) ? (a) : (b)+2 .导致该语句执行与预期不符。宏定义的另一个缺点就是无法访问类的私有成员。而内联函数通过把代码直接复制进调用函数体内 阅读全文
posted @ 2012-04-06 17:14 foreverlearn 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 一.概念性问答题第一题:线程的基本概念、线程的基本状态及状态之间的关系?进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。 在Mac、Windows NT等采用微内核结构的操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位。在微内核系统中,真正调度运行的基本单位是线程。因此,实现并发功能的单位是线程。线.. 阅读全文
posted @ 2012-04-06 13:51 foreverlearn 阅读(215) 评论(0) 推荐(0) 编辑