关于struct的默认对齐字节数解决思路

关于struct的默认对齐字节数struct{charaintbshortcdoubled}这个类型在vc下显示的大小和在纯c的编译

关于struct的默认对齐字节数
struct
{
char       a;
int         b;
short     c;
double   d;
};
这个类型在vc下显示的大小和在纯c的编译器armcc下显示的大小会相差4个字节,在32位系统,后者默认使用4字节对齐,为什么会有这样的差别呢?

[解决办法]
这与具体编译器有关