我在rtdef.h中看到了如下字节对齐的宏定义。
#define RT_ALIGN(size, align) (((size) + (align) - 1) & ~((align) - 1))
#define RT_ALIGN_DOWN(size, align) ((size) & ~((align) - 1))
我的问题是,当size的大小小于align大小时,计算后的数据就是size的大小。而不是想要的大小。
正常情况下,如果这个size都是指针的话我认为是不会有问题的。
但是这个宏用作其他地方,应该就会有问题。
所以这个是否需要增加注释,指明size大小不应该小于align的大小。
或者明确使用范围呢。 |