日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

自对齐(self-aligned)

發布時間:2025/5/22 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自对齐(self-aligned) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言是自對齊的,32位以4字節對齊,64位以8字節對齊(1字節=8 bits)

自對齊的好處:在一條指令內完成數據的取或者存的操作,使得內存訪問更快;否則,如果一個變量跨機器字存儲,那么要做兩次或更多次的訪問(先取存在前一個機器字的內容,再取存在后一個機器字的內容)。

對齊要求

  • 字符可以起始于任何字節地址
  • 2字節的short int必須起始于偶數地址
  • 4字節的int或者float必須起始于被4整除的地址
  • 8字節的long int或者double必須起始于被8整除的地址
  • struct按照最寬成員進行指針對齊。如果struct中嵌套struct,外部struct要按照自己與內部struct中最寬的成員進行對齊。

內存中的實際存儲情況

例1:代碼

char *p; char c; int x;

內存中的存儲

char *p; //4 bytes(32位)或8 bytes(64位) char c; //1 byte char pad[3]; //3 bytes,無用空間,老派術語稱之為slop(水坑) int x; // 4 bytes

?

消除水坑

可以通過改變變量聲明的位置擠掉水坑。

水坑發生于大數據類型的存儲區域緊跟在一個較小的數據類型的存儲區域之后。

消除水坑的方法是按對齊的降序來對變量進行聲明。

?

轉載于:https://www.cnblogs.com/qionglouyuyu/p/4969260.html

總結

以上是生活随笔為你收集整理的自对齐(self-aligned)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。