lcc内存对齐代码 • March 21, 2014
今天看lcc源码内存对齐时看到一个roundup(x,n)宏 从字面意思看这个宏应该是用来向上取整的。但是(x+n-1)&(~(n-1))的确让人一时傻眼了。 这里要从头说起,首先roundup(x,n)的作用就是向上取整,即求出最小的a * n,使得a*n >= x,即 这里就要引入小学时的余数概念了: 即对于任意两个正整数x和n,总存在整数a和b,使得: 在C语言中求a和b…
#lcc#编译器#内存对齐