一个sizeof的有关问题

一个sizeof的问题?
#pragma pack(push) //保存对齐状态
#pragma pack(16)//设定为16字节对齐
struct test
{
char m1;
double m4;
int m3;
}; 
#pragma pack(pop)//恢复对齐状态 

sizeof(test);
得到的大小应该是36还是24,如果是24怎么得到的啊

------解决方案--------------------
VC下是..24 //这个就不清楚了.感觉应该是13的..
TC下是..11 //这很好理解.. 1+8+2 int :2