浏览代码

include:rtdef.h: comment Refine the annotation of RT_ALIGN and RT_ALIGN_DOWN (#10201)

include :rtdef.h : [ Refine the annotation of RT_ALIGN and RT_ALIGN_DOWN ]

This macro is vulnerable to non-2-byte alignments,
but I assume that the macro definition was designed with an explicit use case of 2-byte alignments in mind.
Therefore, I only modify the comment to remind the user.

Solution:
RT_ALIGN(size, align) ((size) + (align) - 1) / (align) * (align)
RT_ALIGN_DOWN(size, align) (size) / (align) * (align)
Here's what deepseek recommends more.

Signed-off-by: Yucai Liu <1486344514@qq.com>
ricky 2 周之前
父节点
当前提交
7125e7bebd
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      include/rtdef.h

+ 2 - 0
include/rtdef.h

@@ -251,6 +251,7 @@ typedef int (*init_fn_t)(void);
  * @def RT_ALIGN(size, align)
  * Return the most contiguous size aligned at specified width. RT_ALIGN(13, 4)
  * would return 16.
+ * @note align Must be an integer power of 2 or the result will be incorrect
  */
 #define RT_ALIGN(size, align)           (((size) + (align) - 1) & ~((align) - 1))
 
@@ -260,6 +261,7 @@ typedef int (*init_fn_t)(void);
  * @def RT_ALIGN_DOWN(size, align)
  * Return the down number of aligned at specified width. RT_ALIGN_DOWN(13, 4)
  * would return 12.
+ * @note align Must be an integer power of 2 or the result will be incorrect
  */
 #define RT_ALIGN_DOWN(size, align)      ((size) & ~((align) - 1))