不解釋蝦瞇析pointer alignment

arm-linux-gcc

unsigned char		buf[1024];
unsigned char*	ptr = buf;

ptr += 511;
(unsigned)ptr &= ~511;

gcc

unsigned char		buf[1024];
unsigned char*	ptr = buf;

ptr += 511;
ptr = (unsigned)ptr & ~511;

這兩種編譯器的寫法不同

為什麼不同?我當然不知道

我只是來打醬油的

編譯完的warning就無視吧

據說是c90之後的規格的關係