? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

吃喝拉撒睡

闲扯淡...

主页提醒跟踪

按时间索引
按标签索引

Latest comments:

BitKeeper这个倒霉孩子开源了

on May 11, 2016 ·
2 comments
最后修改: on May 11, 2016
标签:尚未分类

今天看到新闻说BitKeeper开源了,不禁感叹一声:真TMD是个倒霉孩子。

当年BitKeeper是免费给Linux 内核开发者使用的。按说Kernel那么庞大,开发者那么多,BitKeeper其实是得到了一次前所未有的公测机会,这帮系统开发最NB的人集中在一起用你的产品,就算不给你钱,给你提点意见也总是有好处的,更何况这帮程序员天生就崇尚Geek,放荡不羁爱自由,他们连内核都写,难道还在乎一个源码管理器吗...

结果是BitKeeper决定免费使用期结束!你们不给钱就别用啦!

接下来的事情大家都知道了...写Linux内核的Linus写了一个名叫Git的开源分布式源码管理软件,刷了所有人的屏。然后,要不是因为Linux曾经用过BitKeeper,估计还没有多少人知道这玩意...

今天BitKeeper开源了...有毛用...Linus本人是个大嘴巴,邮件里也经常是Shit Fuck满天,但此人在技术上绝壁是个牛逼人...BitKeeper去招惹谁不好,偏要去招惹Linus...实在是难以理解当年做出此决定的人...无语了。

点我阅读全文

sanitizer--C/C++程序员的福音

on May 11, 2016 ·
2 comments
最后修改: on May 11, 2016
标签:尚未分类

C/C++开发中最TMD麻烦的就是内存访问异常。写坏了内存会有很多莫名其妙的问题,比如发现一个变量没有写入却变了,原来是被错误的写入给盖了...或者释放内存时抛了个glibc的bug提示,原来是写坏了glibc的数据结构...总之让人头大。sanitizer正是解决这些问题的最佳利器。

说sanitizer用法之前前先来八卦一下这玩意的身世。

以往开源界GCC是当之无愧的老大,但要说GCC的这帮开发者,也真是有历史了,坚持使用C语言(还是TMD非常早的C标准)来写编译器本身,很多新理念都没有应用。Apple也依赖gcc来做objective-c编译,据说是提交过几次修改都没有被合并进upstream,于是Apple怒了,基于LLVM编译器写了个clang编译器,clang编译器就是好呀就是好,编译速度快,占用内存少,关键出错提示很友好!结构组织完胜GCC,于是想去搞编译器又苦于GCC学习曲线陡,社区不友好的这帮人,就都去玩clang了。

sanitizer就是这样一个环境下的产物...

比如C语言这么低级的语言中,可以对内存做任何操作,想检查代码的逻辑错误,没有编译器支持是非常困难的,sanitizer就是嵌入到clang中的一个功能,按照官网介绍,clang将使用的内存做了映射关系,在编译C/C++代码时自动为所有的内存读写插入检查代码。运行期一旦检查到内存访问的范围超出了变量本身的映射范围,就会报错,还附带全部调用栈和详细信息,一个赛艇啊。

clang凭借sanitizer在一夜之间检查出了N多GNU用了几十年都没发现的内存bug,在调错方面一举超越GCC...

后来的发展就是,sanitizer本身独立成了一个模块,GCC看到这么好的东西干嘛不学,于是也将其集成进来...以上就是sanitizer的大致来历了,只要你的gcc够新(>=4.9),也可以享受clang的这一强大功能。

点我阅读全文

由benjamin的母亲节想到的

on May 10, 2016 · less than 1 min read 最后修改: on May 10, 2016
标签:尚未分类

看到benjamin的博文母亲节,其中提到和母亲讲起一些社会事件,有感而发。

点我阅读全文

阎连科:丧家之犬

on May 09, 2016 · 1 min read 最后修改: on May 09, 2016
标签:尚未分类

直到最后一刻,母亲才开口。‌‌“多和有权有势的人交朋友‌‌”,她在我耳边低诉。‌‌“别做让那些人反感的事。‌‌”

点我阅读全文

随便说说

on May 09, 2016 最后修改: on May 09, 2016
标签:尚未分类

这是一个比较low的博客...反正就是随便扯扯淡而已...不用太在意

点我阅读全文

Congratulations!

on May 31, 2015 最后修改: on May 31, 2015
标签:尚未分类

Your zeronet blog has been successfully created!

点我阅读全文
Add new post

Title

21 hours ago · 2 min read ·
3 comments
1 hours ago
标签:
Body
点我阅读全文

Title

21 hours ago · 2 min read 1 hours ago
标签:

0 Comments:

user_name1 day ago
Reply
Body
<< 1 >>
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More