3543|9

7815

帖子

56

TA的资源

裸片初长成(中级)

楼主
 

【C标准库里那些好玩的东西】strlen之glibc实现 [复制链接]

本帖最后由 辛昕 于 2017-12-7 01:00 编辑

source insight毕竟是收费,好用不假,但有时没找到彻底破解的版本,30天就提醒一次真是神烦。
加上我公司的电脑没法正常上传代码,因此,在线工具成了我的首选。
之前我已经选了一款 在线 C/C++ 编译器,那款编译器胜在足够简单。
现在我再选一款 在线 编辑器,专门用来看代码。

特别的,对应到这个帖子里要看的是 glibc的strlen.c



老规矩,由于是公司电脑,没法上代码——下次回家了我慢慢倒腾,再把源码贴上来。
现在,先上几个图,让大家感受感受。

小小一个strlen,花样还真不少,看来,写一个 C标准库 真不是一件好玩的事。

首先,推荐大家用 SourceInsight看,估计这么出名的工具,大家都喜欢用吧。

首先搜索strlen的实现,我首先被这个下马威吓着了。

5个实现,3个函数,2个宏定义。


不过,仔细看看,有一个名字里有个 i386,也就是说,大概和机器类型有关,还稍稍松一口气。











虽然我还认真看,但是,大家有没发现,它似乎没有一个和我们的实现类似?
总有一些奇奇怪怪,让人陌生的函数调用。
此帖出自编程基础论坛

最新回复

辛昕,你这也没说啥啊  详情 回复 发表于 2017-12-6 15:37
点赞 关注
个人签名

强者为尊,弱者,死无葬身之地

 

回复
举报

7815

帖子

56

TA的资源

裸片初长成(中级)

沙发
 
坦白说,我一个都没看懂,里面还出现了一些 语法上的盲区,相信是大多数人平常不会碰到的东西。

——以前,我一直在想,如何才能正儿八经地去阅读一份代码,一个库,如果Linux太过庞大,也离我们太过遥远,那么,也许阅读 C标准库 的一个开源实现版本是最有意义的。

然而,我当时根本不知道从何看起,而今,我发现,我突然对strlen很感兴趣,于是我觉得,也许用这种方式,从一两个函数开始,也许有望一点一点突破 C标准库 的阅读。

敬请期待。
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

9792

帖子

24

TA的资源

版主

板凳
 
玩的这么底层
此帖出自编程基础论坛
 
 
 

回复

855

帖子

5

TA的资源

一粒金砂(高级)

4
 
教主能不挖坑吗?挖了赶紧填,不然会被打
此帖出自编程基础论坛
 
个人签名作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!
 
 

回复

10

帖子

1

TA的资源

一粒金砂(初级)

5
 
厉害了,不明觉厉。
先码下 看看
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

6
 
人民币的幻想 发表于 2017-11-2 09:08
教主能不挖坑吗?挖了赶紧填,不然会被打

这不是开始填了嘛.......
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

7
 
里面的写法有些非常规
此帖出自编程基础论坛
 
 
 

回复

1万

帖子

203

TA的资源

管理员

8
 
辛昕,你这也没说啥啊
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

9
 
okhxyyo 发表于 2017-12-6 15:37
辛昕,你这也没说啥啊

长期忘更,骚瑞
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

10
 
okhxyyo 发表于 2017-12-6 15:37
辛昕,你这也没说啥啊

既然你提到,那就从这里开始收拾好了
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表