[問題] __attribute__ ((aligned (8)));

看板C_and_CPP作者 (Yi)時間6年前 (2017/08/03 15:00), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
各位前輩好,小弟是程式語言新手,最近看到有 __attribute__ ((aligned (8))); 這個GNU C的機制,可是我看了說明卻完全搞不懂它的功能, 想請問有比較白話一點的方式解釋給我聽嗎@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.206.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1501743657.A.7B4.html

08/03 15:15, , 1F
這是告訴compiler這段code/data要排在對齊8的位置
08/03 15:15, 1F

08/03 15:47, , 2F
這跟memory被access的方式有關 有時特定的對齊方式access
08/03 15:47, 2F

08/03 15:47, , 3F
會比較快 或是某些module只能用特定的對齊方式
08/03 15:47, 3F

08/03 15:48, , 4F
其實他就是struct的bit fields的編譯器版本
08/03 15:48, 4F
文章代碼(AID): #1PWiefUq (C_and_CPP)