連結器與載入器與執行檔格式
將行程的堆積與堆疊配置成中間隔著寬廣的空閒區域、朝相反方向延伸,其優點為下列何者?
- A即使事先不知道兩者各要使用多少,也能彈性地共同分配空閒區域
- B堆積與堆疊可同時使用相同的位址,因此記憶體變成兩倍
- C堆疊絕對不會再溢位
查看答案與解析
正確答案:A. 即使事先不知道兩者各要使用多少,也能彈性地共同分配空閒區域
堆積朝位址大的方向延伸,堆疊朝位址小的方向延伸,因此中間的空閒區域不論是大量使用堆積的程式,或是大量使用堆疊的程式,都能運用。若為各自分配固定大小,可能一方還有剩餘,另一方卻已溢位。不過堆疊多半設有上限,過深的遞迴超過上限就會造成堆疊溢位(stack overflow)。
- A. 正確。可有效運用虛擬位址空間。
- B. 無法同時使用相同的位址。
- C. 遞迴過深等情況下,堆疊仍會溢位。