【测试】字节对齐

来源:互联网 发布:人工智能的利弊辩论 编辑:程序博客网 时间:2024/05/29 17:22

#include <cassert>#include <iostream>#define test_bool#ifdef test_integer    #define type_t int#elif defined(test_double)    #define type_t double#elif defined(test_pointer)    #define type_t char *#elif defined(test_bool)    #define type_t bool#else    #error "must define test type!!!"#endif // test_integerstruct test_t{    char    a;    type_t  b;    bool    c;    char    d[10];};struct align_x86_t{    char    a;    char    aa[3];    type_t  b;    bool    c;    char    d[10];    char    dd[1];};struct align_x64_t{    char    a;    char    aa[7];    type_t  b;    bool    c;    char    d[10];    char    dd[4];};struct element_t{    type_t  b;};struct max_int_t{    char    a;    int     b;    bool    c;};struct max_double_t{    char    a;    double  b;    bool    c;};int main(){    std::cout << sizeof(test_t) << std::endl;    std::cout << sizeof(align_x86_t) << std::endl;    std::cout << sizeof(align_x64_t) << std::endl;#ifdef test_integer    assert(sizeof(test_t) == sizeof(align_x86_t));#elif defined(test_double)    assert(sizeof(test_t) == sizeof(align_x64_t));#endif // test_integer    std::cout << sizeof(element_t) << std::endl;    std::cout << sizeof(max_int_t) << std::endl;    std::cout << sizeof(max_double_t) << std::endl;    return(0);}


原创粉丝点击