Chinaunix首页 | 论坛 | 博客
  • 博客访问: 287488
  • 博文数量: 77
  • 博客积分: 1422
  • 博客等级: 上尉
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-21 12:39
文章分类
文章存档

2011年(1)

2009年(3)

2008年(73)

我的朋友

分类:

2008-07-11 00:22:17

1.什么是预编译,何时需要预编译?

所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。
预处理是C语言的一个重要功能,它由预处理程序负责完成。
当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。

C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。
合理地使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。

预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。
------------------------------------------------------
2.一个32位的机器,该机器的指针是多少位?

 指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。
-------------------------------------------------------
3.关键字volatile有什么含意?并举出三个不同的例子?
 
提示编译器对象的值可能在编译器未监测到的情况下改变。
-------------------------------------------------------
4.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;

  有两种解法, 一种用算术算法, 一种用^(异或)
  a = a + b;
  b = a - b;
  a = a - b;
  or
  a = a^b;// 只能对int,char..
  b = a^b;
  a = a^b;
  or
  a ^= b ^= a;
----------------------------------------------------------
5.列举几种进程的同步机制,并比较其优缺点。
  
  原子操作
  信号量机制
  自旋锁
  管程,会合,分布式系统
----------------------------------------------------------
6. 进程之间通信的途径

  共享存储系统
  消息传递系统
  管道:以文件系统为基础
---------------------------------------------------------
7.进程死锁的原因

  资源竞争及进程推进顺序非法

 死锁的4个必要条件

  互斥、请求保持、不可剥夺、环路

 死锁的处理

  鸵鸟策略、预防策略、避免策略、检测与解除死锁
----------------------------------------------------------
8.操作系统中进程调度策略有哪几种?

  FCFS(先来先服务),优先级,时间片轮转,多级反馈
----------------------------------------------------------
9.



阅读(903) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~