【工具使用-C语言】一种N字节向下对齐的宏定义
2023-12-21 12:54:46
一,简介
在工作工作中,有内存对齐的访问需求:比如有时需要对函数传进来的参数的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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!