• 询问变量对齐方式


    关键字__alignof__允许你询问一个对象如何对齐,或者一个类型的需要的最小对齐。它的语法很像sizeof

    例如,不过目标机器需要一个双精度值来使一个8位的边界对齐,这样__alignof__(double)就是8.在许多RISC机器上就是这样的。在很多传统的机器设计,__alignof__(double)是4或者甚至是2.

    一些机器实际上从不需要对齐;它们允许参考任意数据类型甚至在一个奇数地址上。对这些机器,__alignof__报告类型的建议对齐。

    __alignof__的操作数是一个左值而不是一个类型时,这个值是这个左值已知有的最大对齐。它可能由于它的数据类有而有这个对齐,或者因为它是结构体的一部分并且从那个结构体继承了对齐。例如在这个声明之后:

    struct foo { int x; char y; } foo1;

    __alignof__(foo1.y)的值可能是2或4,同__alignof__(int)相同,即使foo1.y的数据类型自己不需要任何对齐。

    这是要求一个不完全的类型的对齐的错误。

    一个使你说明一个对象对齐的关联特征是__attribute__ ((aligned (alignment))); 请看下一篇

  • 相关阅读:
    centos,ubuntu下安装zabbix遇到的问题
    代理环境下使用 ADDAPTREPOSITORY 添加 PPA 软件源
    Linux文件系统挂载管理
    Log4j配置详解
    myeclipse快捷键
    Linux用户基础(用户和组)
    C语言I博客作业07
    C语言I博客作业02
    C语言I博客作业08
    C语言I博客作业04
  • 原文地址:https://www.cnblogs.com/HuangWj/p/6617874.html
Copyright © 2020-2023  润新知