在Linux(gcc)中,我可以通过对齐结构

#ifndef WIN32
    #define ALIGN(size) __attribute__((aligned(size)))
#else
    #define ALIGN(size) __declspec(align(size))
#endif
struct Test {
    float buffer[12];
};
Test ALIGN(16) test;

指针对齐可以定义为

#ifndef WIN32
    #define ALIGN_PTR(size) __attribute__((align_value(size)))
#endif
Test * ALIGN_PTR(16) pTest;

题:

在Windows VC编译器中等效 __attribute__((align_value(size))) 是什么?

这个问题应与#pragma pack的另一个解决方案无关,因为我认为关键点是如何在MSVC中对齐与Linux等效的内存地址,但不要对齐struct size本身 .