504_linux内核学习___va_rounded_size宏分析
发布日期:2021-06-30 03:28:17
浏览次数:2
分类:技术文章
本文共 399 字,大约阅读时间需要 1 分钟。
全部学习汇总:
在分析linux的代码的时候,main最开始的时候调用了一个sprintf函数。这里面用到了一个宏__va_rounded_size。今天看看这个宏的功能。其实,在C语言的开发中基本上都是直接使用标准库中提供的这个功能。一般,stdarg.h文件中包含了相应的定义。我正在看的linux代码中也直接包含了这个文件,不过可能是一个精简版本的。
这个宏的定义如下:
这个是这个文件中的定义。
我增加了一个注释,其实这个分析还是很简单的。
这个功能其实是对这个参数的大小按照int类型进行向上取整。
把这部分单独摘出来,做一个简单的测试:
编译运行:
看起来跟分析的一致,这里的显示结果倒是有点意思。主要有意思的点在于指针类型的空间,其实这个并不是4而是8,主要是因为我现在的用的机器是64bit的。
看起来,这个也是一个比较有用的一个小代码段。可以收集整理一下,放到我自己的工具箱里面。
转载地址:https://greyzhang.blog.csdn.net/article/details/112496351 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月14日 07时00分58秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据挖掘 | 利用python进行商品亲和性分析
2019-04-30
80行代码自己动手用python写一个表格拆分与合并小工具
2019-04-30
pytorch之tensor
2019-04-30
判断图同构大杀器---nauty算法
2019-04-30
为什么有时候python代码不能左对齐
2019-04-30
python中保存一个数组,你会吗?
2019-04-30
随笔记--Pycharm中Terminal字体大小的设置
2019-04-30
随笔记--调用不熟悉的函数时不要自己乱改参数形式
2019-04-30
Dataset数据读取
2019-04-30
ResNet网络理解
2019-04-30
架构设计 分布式系统调度,Zookeeper集群化管理
2019-04-30
数据源管理 (一)
2019-04-30
数据源管理(二)
2019-04-30
数据源管理(三)
2019-04-30
数据源管理(四)
2019-04-30
数据源管理(五)
2019-04-30
数据源管理(六)
2019-04-30
数据源管理(七)
2019-04-30
数据源管理(八)
2019-04-30
分布式服务与库表设计
2019-04-30