這個(gè)就不用想了~想不通的__packed表示字節(jié)對齊,machinesnoexisttopackolivesinjars,packed后面可以跟into或inashemarksdownthepricies、hestopnowandtopackthingsintolargebag。
packed后面可以跟into或inashemarksdownthepricies、hestopnowandtopack thingsintolargebag。他一邊抄價(jià)格,一邊不時(shí)停下來把東西裝進(jìn)一個(gè)大袋子里。machinesnoexisttopack olive sinjars。現(xiàn)在橄欖可以用機(jī)器裝進(jìn)罐子里。
這表示收縮。首先要理解對齊,比如定義以下記錄類型:TYPEREC = RECORDA:CHAR;b:整數(shù);結(jié)束;一般情況下,如果系統(tǒng)按4字節(jié)對齊,那么雖然第一個(gè)A只需要一個(gè)字節(jié),但后面三個(gè)字節(jié)是空的,B從后面四個(gè)字節(jié)的邊界開始分配。PACKED的作用就是減少這種浪費(fèi),讓A只占用一個(gè)字節(jié),然后B再分配空間。
pack英美n. parcel一個(gè)群體;一對;一個(gè)群體;打包;東西;擠進(jìn)去;聚成一團(tuán);選擇;壓實(shí);攜帶;收緊;當(dāng)我17歲的時(shí)候,我離開了家。17歲那年,我收拾行李離開了家。
4、C/C 語言中struct結(jié)構(gòu)體定義中__ packed的作用是什么?這個(gè)就不用想了~想不通的__ packed表示字節(jié)對齊。比如intfloatdoublechar的總大小是4 4 8 1=17,但如果不使用__ packed,系統(tǒng)默認(rèn)是對齊的(假設(shè)是4字節(jié)),所以占4 4 8 4 = 20;(不足4個(gè)字節(jié)用4個(gè)字節(jié)填充),但在VS2008中,上述方法無法使用(我在較低版本中沒有嘗試過)。如果要設(shè)置對齊模式,可以通過選擇工程屬性-配置屬性-C/C -代碼生成來設(shè)置,它的選項(xiàng)有1、2、4、8和16。在GCC下,可以加上#pragmapack4字節(jié)對齊的意思,其他的也一樣。