c - arm多少字节对齐?

标签 c gcc arm alignment

我正在使用 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/

相关文章:

c - C/C++ 中的巴特沃斯 BP 滤波,奇怪的频谱

c++ - 无法在 CmakeList 中链接 Boost 库

c - MPI - 在障碍后尝试打印广播变量,显示其他一些变量

c - 如何对微 Controller 上的定时器功能进行单元测试

c++ - 在 C++ 中我们可以取消引用这个指针吗?如果是这样那么如何,如果不是那么为什么?

c++ - Clang: 'cmath' 找不到文件

c - strptime() 在 armv7l 环境中产生错误结果

linux - ARM 上 TLS 的代码序列

c++ - 错误 : wx/setup. h:CodeBlocks 上没有这样的文件或目录 wxWidgets

xcode - 在 GCC 中抑制 "does not implement protocol"警告