Cùng đặt vấn đề nào (Bản số 9)

Đã tìm được lý do :slight_smile:
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
1 Like

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ờ :smiley:

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 :smile:

Có ích trong công việc mà phải không?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?