在CI的头文件之一中,__align(4)
·无符号字符·之前出现了该语法,我想知道它的用途,如果删除它,会发生什么?在哪里可以使用?
在C语言中,没有任何东西称为__align()。它似乎是非标准语言扩展。
最有可能将变量对齐到某个内存边界。例如,__align(4) uint8_t x;
将可能保证x
分配在4整除的偶数地址上。
从C11开始,C语言具有相似的关键字_Alignas
,它们以相同的方式工作。
如果将其从文件中删除,则将根据特定系统的对齐要求,在编译器看起来合适的位置分配该变量。根据优化设置(针对速度进行优化或针对程序大小进行优化),它可能会分配也可能不会分配到其他地址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句