在 CI 的一个头文件中,在 \xc2\xb7unsigned char\xc2\xb7 之前遇到了语法__align(4),我想知道它的用途以及如果删除它会发生什么?我可以在哪里使用它?
C 语言中没有什么叫__align()。它似乎是一个非标准语言扩展。
最有可能的是它在某个内存边界上对齐变量。例如,__align(4) uint8_t x;可能会保证x分配在可被 4 整除的偶数地址。
从 C11 开始,C 语言有一个类似的关键字_Alignas,其工作方式相同。
如果您将其从文件中删除,该变量将被分配到编译器认为合适的位置,具体取决于特定系统的对齐要求。根据优化设置(速度优化或程序大小优化),它可能会也可能不会分配在不同的地址。
| 归档时间: |
|
| 查看次数: |
3009 次 |
| 最近记录: |