1.volatile有什么用处
它表示变量可能被外部更改,限制编译器对此变量进行优化。
如:
i = 3;
j = i;
会被编译成
mov ax, 3;
mov i, ax;
mov j, ax;
如果i是volatile型的,会被编译成
mov ax, 3;
mov i, ax;
//i可能被外部修改
mov ax, i;
mov j, ax;
2.linux中的fork和excuve成功返回的值是多少
进程标识符,fork成功返回值为大于0的正数,excuve成功不返回,失败返回值为-1
3.cache中的write through和write back在策略上有什么不同
许多操作系统有buffer caches (即使名称不同),透写write-through: 数据马上写到磁盘(当然也同时写到cache) ,不马上写的cache叫回写
write-back。回写比透写更有效,但也更容易出错:如果系统崩溃,或电源突然掉电,或软盘在cache回写前被取出,那么cache中改变的数据
将丢失。
4.替换顺序的题
#include <string.h>
main ()
{
char
5.写代码给寄存器OX15022033的bit2和bit3置位
int *p;
p=OX15022033;
p=(*P)||OX0C;
7.给定下列等式,其中每个字母代表一个数字,且不同数字对应不同字母,编程求出数字
A B C D E
D F G
+ D F G
-----------------
X Y Z D E