当前位置: 首页 > news >正文

argz_count()函数

为什么80%的码农都做不了架构师?>>>   hot3.png

函数位于glibc源码中的../glibc-version/string/argz-cout.c中,其作用统计一个argz vector中元素(字符串)的个数。

argz vector是存储在连续空间的一维字符数组,元素(字符串)彼此之间以空字符(\0)进行分隔。

函数声明如下:

//argz.h
/* Returns the number of strings in ARGZ.  */
extern size_t __argz_count (__const char *__argz, size_t __len)
     __THROW __attribute_pure__;
extern size_t argz_count (__const char *__argz, size_t __len)
     __THROW __attribute_pure__;

函数的实现如下:

/* Returns the number of strings in ARGZ.  */
size_t
__argz_count (const char *argz, size_t len)
{
    size_t count = 0;
    while (len > 0)
    {
        size_t part_len = strlen(argz);
        argz += part_len + 1;
        len -= part_len + 1;
        count++;
    }
    return count;
}
libc_hidden_def (__argz_count)
weak_alias (__argz_count, argz_count)

由于argz中字符串之间以\0分隔的特性,所以可以使用strlen(argz)测算出每个字符串的长度,然后以该长度为增量移动argz的首地址指针,移动的次数即为该argz vector中元素的个数。

转载于:https://my.oschina.net/saiy/blog/513848

相关文章:

  • JS获取阴历阳历和星期
  • LCA UESTC 92 Journey
  • jquery cookie
  • Android调用系统相机拍照保存照片很小解决方案
  • Caching with Instance Variables 缓存与实例变量
  • jsf初学解决faces 中文输入乱码问题
  • Java随机数生成原理
  • jvm参数详解,内存泄露解决
  • HDU 2815 Mod Tree 离散对数 扩张Baby Step Giant Step算法
  • centos 7 修改默认运行级别
  • Python之继承
  • hbase学习笔记1——脚本简单总结
  • 第四次作业——个人作业——软件案例分析
  • iOS小技巧之UIImagePickerController实现头像选择
  • 批量添加tiptop账号(批量添加Linux账号)
  • 【Leetcode】104. 二叉树的最大深度
  • ComponentOne 2017 V2版本正式发布
  • Elasticsearch 参考指南(升级前重新索引)
  • Java方法详解
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • windows下使用nginx调试简介
  • 驱动程序原理
  • 删除表内多余的重复数据
  • 实战|智能家居行业移动应用性能分析
  • 消息队列系列二(IOT中消息队列的应用)
  • 正则表达式
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #includecmath
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (补)B+树一些思想
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (四) 虚拟摄像头vivi体验
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)3D模板阴影原理
  • (转)IOS中获取各种文件的目录路径的方法
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET学习全景图
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @vue/cli 3.x+引入jQuery
  • [AR Foundation] 人脸检测的流程
  • [ASP]青辰网络考试管理系统NES X3.5
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C#] 我的log4net使用手册
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强