__align(A)在C中是什么意思

用户名

在CI的头文件之一中,__align(4)·无符号字符·之前出现了该语法,我想知道它的用途,如果删除它,会发生什么?在哪里可以使用?

伦丁

在C语言中,没有任何东西称为__align()。它似乎是非标准语言扩展。

最有可能将变量对齐到某个内存边界。例如,__align(4) uint8_t x;将可能保证x分配在4整除的偶数地址上。

从C11开始,C语言具有相似的关键字_Alignas,它们以相同的方式工作。

如果将其从文件中删除,则将根据特定系统的对齐要求,在编译器看起来合适的位置分配该变量。根据优化设置(针对速度进行优化或针对程序大小进行优化),它可能会分配也可能不会分配到其他地址。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章