摘要: "付出努力的过程也许是举步维艰的,但必须是开心和充实的。“----火星人在挖掘工程代码的过程中,仅仅游走在header文件和源代码文件中往往是意犹未尽的感觉,尤其在实际环境中很难确定某一版本的开源代码真的就是当前系统运行的代码,反正无论怎样,对库文件的汇编追踪都是必不可少的。汇编代码中的symbol追踪是非常重要的一环,一旦要对库函数做实验,编译测试代码,通过binary tool分析目标代码去hunt down真正的库函数细节!此篇就是介绍在Mac OS X下这个过程的操作,let's do it.!最近Mars在研究关于NaN的问题(Orz,写这篇的时候NaN的那篇还不到 阅读全文
posted @ 2013-05-21 12:17 Miner Mars 阅读(2988) 评论(0) 推荐(0) 编辑
摘要: 最近Mars在一个问题上越挖越深,深到要在GCC的代码里面找线索,尽管一路上无数的蛋疼肛裂,依然无法削减他半点激情。现在问题的答案已经比较清晰了,但为了在不一样的环境下重新再验证一把,于是今天一整天都在vm上安装更新的OS,更新的GCC。安装GCC一直是Mars心中一块阴影处,曾经他无数次安装失败,被打击得遍体鳞伤,但今天他还是硬扛着心中的恐惧开始了安装之旅,不过这一次有地球圈最强OP lxm的沿路辅助,相信成功的概率还是很大的。大环境是CentOS 6.3,刚装好OS的时候里面真的是空空如也,没有GCC,没有make,什么都没有,甚至连网都上不了,因为onbooy="no&quo 阅读全文
posted @ 2013-05-16 16:43 Miner Mars 阅读(616) 评论(4) 推荐(0) 编辑
摘要: 在看位处理代码时经常就会看到:(变量)与(自己的补码)做位或,也就是x|-x这个处理的结果就是:得到一个值y,y从最低位开始有多少个连续的0,那x也一样。例如:1)1010101111001101-->x0101010000110011-->-x1111111111111111-->x|-x2)1010101111001000-->x0101010000111000-->-x1111111111111000-->x|-x3)1010100000000000-->x0101100000000000 -->-x1111100000000000--&g 阅读全文
posted @ 2013-05-13 16:57 Miner Mars 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "没有升迁发财,没有大牛小白,挖掘工程的背后是回归最初兴趣的源动力。“----火星人===<stddef.h>简介===<stddef.h>不算是旅游胜地,但在著名旅游指南cplusplus.com上搜索一把还是能看到相应的介绍:此篇就是dig一下gcc下这位大家闺秀的方方面面,找点乐子(被那些无聊的工作闷得受不了的Mars点了一下头)。看看需要stddef.h的男士很多,随便来个grep "#include <stddef.h>" -r /usr/include就保证可以找到一堆:<stddef.h>的“实现”在不 阅读全文
posted @ 2013-05-07 11:34 Miner Mars 阅读(1541) 评论(1) 推荐(2) 编辑
摘要: "没有升迁发财,没有大牛小白,挖掘工程的背后是回归最初兴趣的源动力。“----火星人 size_t 一直是c/c++频道的一线演员,他几乎出现在该频道的每一部连续剧当中,扮演着正义完美没有不良记录的角色。曾经有一段时间,Mars以为这位影星是从stddef.h出道的,不过当他在redhat和mac上写了一个简单的c程序,里面只包含一个stdio.h文件时,他发现size_t已经栖身其中。此篇就是dig一下size_t在用户程序崭露头角之前是怎么诞生的,此篇只讲述Mac OSX下的情况,戴红帽的那群兄弟,你们冷静点,本篇结尾会给你们交待的。 既然要找出size_t的定义源头,那就少不了 阅读全文
posted @ 2013-05-06 11:57 Miner Mars 阅读(835) 评论(0) 推荐(0) 编辑