エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
gccで指定できるアラインメントのサイズには限界がある - 俺とお前とlaysakura
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
gccで指定できるアラインメントのサイズには限界がある - 俺とお前とlaysakura
C言語におけるデータのアラインメントについての小ネタです. アラインメント自体については, データ型... C言語におけるデータのアラインメントについての小ネタです. アラインメント自体については, データ型のアラインメントとは何か,なぜ必要なのか? にとても詳しいです. 問題設定 4バイトの変数を16個の配列で確保するとします. int a[16]; もし各レベルキャッシュのキャッシュラインサイズが64バイトなら, この配列aを1ラインに収めることができるはずです. 事例1: 配列サイズを定数で指定 __atribute__ ((aligned(64))) を使って,アラインメントを64バイト境界に指定してみましょう. alignment_stack_const.c #include <stdio.h> #include <stdint.h> int main() { uintptr_t addr; int __attribute__ ((aligned(64))) a[16]; addr =