我正在使用 gcc-arm-none-eabi 在 arm cortex cpu 上编写 C 语言。我知道这是通过测试和谷歌进行的 4 字节对齐。
但是是否有任何宏或变量来定义它是多少字节对齐的?我需要知道万一有一天这个程序可能是另一个 cpu 的端口。
最佳答案
找到特定数据类型的对齐方式的一个技巧是将它打包到一个带有 char 的结构中:
#define LONG_ALIGNMENT (sizeof (struct {char a, long b}) - sizeof (long))
#define INT_ALIGNMENT (sizeof (struct {char a, int b}) - sizeof (int))
关于c - arm多少字节对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37525270/