【工具使用-C语言】一种N字节向下对齐的宏定义

发布时间:2023年12月21日

一,简介

在工作工作中,有内存对齐的访问需求:比如有时需要对函数传进来的参数的size大小做4字节对齐,这个时候需要对size的大小做判断,并且操作。

二,具体方法

2.1 宏定义实现:

#ifndef XXX_ALIGN_DOWN
#define XXX_ALIGN_DOWN(size, align) ((size) & ~((align)-1))
#endif /* !XX_ALIGN_DOWN */

2.2 宏定义使用:

#ifndef XXX_ALIGN_SIZE
#define XXX_ALIGN_SIZE 4
#endif /* !XXX_ALIGN_SIZE */
int test_align(int size)
{
	return XXX_ALIGN_DOWN(size, XXX_ALIGN_SIZE);
}

说明:
1,以上代码中的“XXX”可以更具实际情况换成自己的名字。
2,想换成8字节对齐或者其他字节对齐的,可以直接修改XXX_ALIGN_SIZE宏定义即可。

三,总结

本文记录了一种字节向下对齐的方法,供参考。

文章来源:https://blog.csdn.net/xuxu_123_/article/details/135126940
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。