struct的對(duì)齊問題是由一道筆試題想到的,筆試題如下:#includeusing?namespace?std; typedef?union?student { ????char?name[10];
由于C++的項(xiàng)目做的少,又比較小,所以一直沒有注意字節(jié)對(duì)齊的問題,但是,字節(jié)對(duì)齊在大規(guī)模應(yīng)用中對(duì)內(nèi)存管理和CPU執(zhí)行效率的影響應(yīng)是挺大的。本文根據(jù)一些資料學(xué)習(xí),做一個(gè)小總結(jié)。首先拋出第一個(gè)結(jié)論,字節(jié)對(duì)
一、什么是棧對(duì)齊?棧的字節(jié)對(duì)齊,實(shí)際是指棧頂指針須是某字節(jié)的整數(shù)倍。因此下邊對(duì)系統(tǒng)棧與MSP,任務(wù)棧與PSP,棧對(duì)齊與SP對(duì)齊 這三對(duì)概念不做區(qū)分。另外下文提到編譯器的時(shí)候,實(shí)際上是對(duì)編譯器匯編器連接器的統(tǒng)稱。