一分鐘理解記憶體對齊

2021-10-08 17:28:02 字數 542 閱讀 3940

關於記憶體對齊的的部落格大家應該看了很多了,可能還沒看懂。接下來我將用最淺顯的語言描述記憶體對齊的用法。

(1)基本概念:

怎麼對齊?:通過給該成員之前的成員多分配記憶體。

當前對齊值:是給定值#pragma pack(n)和當前需要對齊成員資料型別長度中較小的那個。

有效對齊值:是給定值#pragma pack(n)和結構體中最長資料型別長度中較小的那個。

(2)按先後順序,找到需要對齊的成員c,使 此成員c之前的記憶體占用為當前對齊值的整數倍。

如果c成員型別長度為4,在此之前記憶體占用了7,則將之前的記憶體占用對齊為8.

如果c成員型別長度為8,在此之前記憶體占用了7,則將之前的記憶體占用對齊為8.

如果c成員型別長度為2,在此之前記憶體占用了1,則將之前的記憶體占用對齊為2.

如果c成員型別長度為4,在此之前記憶體占用了1,則將之前的記憶體占用對齊為4.

(3)成員對齊完之後,結構體占用記憶體應該為有效對齊值的整數倍,如果不是,則對齊。

一分鐘理解sdk

外語 software development kit 中文 軟體開發工具包 含義 一般都是一些軟體工程師為特定的軟體包 軟體框架 硬體平台 作業系統等建立應用軟體時的開發工具的集合。通俗 是指由第三方服務商提供的實現軟體產品某項功能的工具包。出現形式 一般以集合kpi和文件 範例 工具的形式出現 ...

一分鐘sed入門(一分鐘系列)

1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...

一分鐘看懂mysql 一分鐘,看懂易貨

從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...