筆試題目(編程)
1.volatile有什么用處
它表示變量可能被外部更改,限制編譯器對此變量進(jìn)行優(yōu)化。
如:
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成功返回的值是多少
進(jìn)程標(biāo)識符,fork成功返回值為大于0的正數(shù),excuve成功不返回,失敗返回值為-1
3.cache中的write through和write back在策略上有什么不同
許多操作系統(tǒng)有buffer caches (即使名稱不同),透寫write-through: 數(shù)據(jù)馬上寫到磁盤(當(dāng)然也同時寫到cache) ,不馬上寫的cache叫回寫
write-back;貙懕韧笇懜行,但也更容易出錯:如果系統(tǒng)崩潰,或電源突然掉電,或軟盤在cache回寫前被取出,那么cache中改變的數(shù)據(jù)
將丟失。
4.替換順序的題
#include <string.h>
main ()
{
char
5.寫代碼給寄存器ox15022033的bit2和bit3置位
int *p;
p=ox15022033;
p=(*p)||ox0c;
7.給定下列等式,其中每個字母代表一個數(shù)字,且不同數(shù)字對應(yīng)不同字母,編程求出數(shù)字
a b c d e
d f g
+ d f g
-----------------
x y z d e