Đã tìm được lý do
Chính xác là do compiler. Như vậy việc runtime alignment là tùy thuộc vào compiler và các option của nó.
Compile with cl compiler (x86):
cl /EHsc /nologo /W4 test.c
Size: 6
st1:302ff04 st2:302ff0c
Đã tìm được lý do
Chính xác là do compiler. Như vậy việc runtime alignment là tùy thuộc vào compiler và các option của nó.
Compile with cl compiler (x86):
cl /EHsc /nologo /W4 test.c
Size: 6
st1:302ff04 st2:302ff0c
Vậy có nghĩa là không phải do máy 32 hay 64 bits thì hợp lý rồi. /W4
là gì vậy?
Option /W thường là về các warning anh. W4 có nghĩa là warning level 4 :).
Do compiler chỉ là phần alignment lúc load variable trên Memory thôi anh. Còn struct alignment & padding thì nó vẫn đúng như lý thuyết mình bàn từ đầu tới giờ
Thank Huy nhé, nhưng nói thật bài này anh chưa hiểu lắm. Vài hôm em viết 1 bài hướng dẫn chi tiết về món này đi
Có ích trong công việc mà phải không?