和普通程序的 區別: 普通程序(如壹個 子函數) 調用完了 , 臨時數據 就 不需要了, 分配的 內存 空間 就 回收了, 而 駐留程序 是 要保留這些的
駐留 程序 主要 用於 中斷函數 , 非中斷函數 也 有應用,較少。分別舉個例子:
1)用於 中斷:
假設 壹個 用 定時器 做的 時鐘函數,定時器 設置為 1s壹個中斷。
main()
{
顯示 時間 hour,min,sec; // 循環 刷屏顯示
}
中斷函數
{
sec++;
if(sec>=60)
{
sec=0;
min++;
}
if(min>=60)
{
min=0;
hour++;
}
if(hour>=24)
{
hour=0;
}
}
這時候 就能看出, 中斷程序 在 運行完的 時候 不能 把 3個 變量 清空, 因為 下次 中斷 還要用到 上次的 值, 這個程序 要 壹直 駐留 內存;
2)再來個 普通 函數的
假設 做了壹個程序 ,程序中 有壹個 函數aa,而 函數 aa 我只能 讓它執行 3次就得 關閉程序(這個 用在 密碼 驗證上)
aa()
{
密碼驗證次數n+1
返回n 和 驗證結果
}
那這個 aa函數 在 密碼 驗證 階段 就要 常駐 內存