C语言 臂的多少字节对齐



我正在使用gcc-arm-none-eabi在手臂皮层CPU上编程C。我知道这是测试和谷歌的 4 字节对齐。

但是是否有任何宏或变量可以定义它有多少字节对齐?我需要知道,以防有一天这个程序可能是另一个CPU的端口。

查找特定数据类型对齐方式的一个技巧是将其打包在带有字符的结构中:

#define LONG_ALIGNMENT (sizeof (struct {char a, long b}) - sizeof (long))
#define INT_ALIGNMENT  (sizeof (struct {char a, int b}) - sizeof (int))

最新更新