chaosuper85

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

#

大端(Big Endian)与小端(Little Endian)详解

【大端(Big Endian)与小端(Little Endian)简介】
Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。
     对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:
(1) 它的地址是多少?
(2) 它的字节在内存中是如何组织的?
    针对第一个问题,有这样的解释:
    对于跨越多个字节的对象,一般它所占的字节都是连续的,它的地址等于它所占字节最低地址。(链表可能是个例外, 但链表的地址可看作链表头的地址)。
    比如: int x, 它的地址为0x100。 那么它占据了内存中的Ox100, 0x101, 0x102, 0x103这四个字节(32位系统,所以int占用4个字节)。
    上面只是内存字节组织的一种情况: 多字节对象在内存中的组织有一般有两种约定。 考虑一个W位的整数。
    它的各位表达如下:[Xw-1, Xw-2, ... , X1, X0],它的
    MSB (Most Significant Byte, 最高有效字节)为 [Xw-1, Xw-2, ... Xw-8];
    LSB (Least Significant Byte, 最低有效字节)为 [X7,X6,..., X0]。
    其余的字节位于MSB, LSB之间。

LSB和MSB谁位于内存的最低地址, 即谁代表该对象的地址?
这就引出了大端(Big Endian)与小端(Little Endian)的问题。
如果LSB在MSB前面, 既LSB是低地址, 则该机器是小端; 反之则是大端。
DEC (Digital Equipment Corporation,现在是Compaq公司的一部分)和Intel的机器(X86平台)一般采用小端。
IBM, Motorola(Power PC), Sun的机器一般采用大端。
当然,这不代表所有情况。有的CPU即能工作于小端, 又能工作于大端, 比如ARM, Alpha,摩托罗拉的PowerPC。 具体情形参考处理器手册。

具体这类CPU是大端还是小端,应该和具体设置有关。
(如,Power PC支持little-endian字节序,但在默认配置时是big-endian字节序)
一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是Little Endian的。少部分,如MAC OS ,是Big Endian 的。
所以说,Little Endian还是Big Endian与操作系统和芯片类型都有关系。

Linux系统中,你可以在/usr/include/中(包括子目录)查找字符串BYTE_ORDER(或
_BYTE_ORDER, __BYTE_ORDER),确定其值。BYTE_ORDER中文称为字节序。这个值一般在endian.h或machine/endian.h文件中可以找到,有时在feature.h中,不同的操作系统可能有所不同。

对于一个数0x1122
使用Little Endian方式时,低字节存储0x22,高字节存储0x11
而使用Big Endian方式时, 低字节存储0x11, 高字节存储0x22

 

经一网友指正,才知道,上面的描述,是不准确的.

想了下,觉得如下描述可能更合适:

使用Little Endian方式存储数据时,数据的LSB相对最没意义的数据位,存放在低地址位置,这里的LSB也就是22了.也即,

低地址存储0x22, 高地址存储0x11

而使用Big Endian方式存储数据时,数据的MSB最有意义的数据位,存放在低地址位置,这里的MSB也就是11了.也即

低地址存储0x11, 高地址存储0x22

助记:

1)所谓MSB (Most Significant Byte),名字很复杂,不知是否有人没搞懂,反正我开始看到这个词时候,就很糊涂,有点不完全理解.其实简单说MSB就是,一个数字中,最重要的那位,

举例来说,12004,中文读作,一万两千零四,那最高位的1,就表示了一万,此处就称作MSB,最有意义的位.

2)一般常见的数据存储,用文字写出来的时候,其内容书写格式,多数是从低地址到高地址.

举例,一个16进制数是 0x11 22 33, 而存放的位置是

地址0x3000 中存放11

地址0x3001 中存放22

地址0x3002 中存放33

连起来就写成地址0x3000-0x3002中存放了数据0x112233.

而这种存放和表示方式,正好符合大端.

解释的有点乱,希望有人能看懂.

 

如果还有哪里有误,还请各位继续指正.谢谢.

 

 

【用函数判断系统是Big Endian还是Little Endian】
bool IsBig_Endian()
//如果字节序为big-endian,返回true;
//反之为   little-endian,返回false
{
    unsigned short test = 0x1122;
    if(*( (unsigned char*) &test ) == 0x11)
       return TRUE;
else
    return FALSE;

}//IsBig_Endian()


以上内容,整理自:

如何判断系统是Big Endian还是Little Endian?
http://jlingmei.spaces.live.com/blog/cns!77254CCC13222C11!391.entry?wa=wsignin1.0

判断机器字节存储顺序是big endian还是little endian
http://hi.baidu.com/cppyun/blog/item/9625c8396d5ff7f33b87ce33.html

动态判断cpu字节序是big-endian还是little-endian
http://chongyanglee.bokee.com/4919503.html


//CSDN技术中心

标题   Big-endian和Little-endian     选择自 NeptuneX 的 Blog
关键字   Big-endian和Little-endian
出处  
简而言之:
Big endian machine: It thinks the first byte it reads is the biggest.
Little endian machine: It thinks the first byte it reads is the littlest.
举个例子,从内存地址0x0000开始有以下数据
 0x0000     0x12
 0x0001     0x34
 0x0002     0xab
 0x0003     0xcd
如果我们去读取一个地址为0x0000的四个字节变量,若字节序为big-endian,则读出
结果为0x1234abcd;若字节序位little-endian,则读出结果为0xcdab3412.
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
                big-endian     little-endian
0x0000     0x12              0xcd
0x0001     0x23              0xab
0x0002     0xab              0x34
0x0003     0xcd              0x12
x86系列CPU都是little-endian的字节序.

posted @ 2009-06-22 00:05 chaosuper 阅读(515) | 评论 (0)编辑 收藏

Http://www.boost.org
posted @ 2009-06-20 22:19 chaosuper 阅读(89) | 评论 (0)编辑 收藏

http://www.eclipse.org
posted @ 2009-06-09 23:33 chaosuper 阅读(114) | 评论 (0)编辑 收藏

人们总是害怕改变.电被发明出来的时候他们害怕电,是不是?他们害怕煤,害怕蒸汽机车.无知无所不在,并导致恐惧.但随着时间推移,人们终究会接受最新的科技.

正如比尔盖茨曾经警告过一样,计算机已经真正成为我们的最新科技,几乎遍布我们日常生活的每一方面.所以,我们这个时代的某些最伟大的头脑开始思索起计算机和软件对于人类的重要性来了.以下就是101条有关计算机的伟大名言,并且,既然我们这个网站是一个软件开发网站,我们尤其关注编程方面的.

计算机

1、计算机没什么用.他们只会告诉你答案.(巴勃罗毕加索,画家)

2、计算机就跟比基尼一样,省去了人们许多的胡思乱想.(萨姆尤因,作家)

3、他们拥有计算机,他们也还可能拥有其他的大规模杀伤性武器.(珍内特雷诺,美国前女司法部长)

4、跟计算机工作酷就酷在这里,它们不会生气,能记住所有东西,还有,它们不会喝光你的啤酒.(保罗利里,吉他手)

5、如果汽车能赶上计算机的发展周期的话,一辆今天的劳斯莱斯仅值100美元,每加仑要跑100万英里,每年还得爆炸一次,把里面的人杀个精光.(Robert X. Cringely,技术作家)

计算机智能

6、计算机总是越来越智能的.科学家告诉我们说不久它们就能跟我们对话了.(这里的它们,我指的是计算机.我怀疑科学家永远都不能跟我们对话.)
(Dave Barry,幽默作家)

7、我最近注意到,在共同文化中,那种对计算机变得智能化并最终掌控世界的妄想恐惧症几乎彻底消失了.据我所知,这跟MS-DOS的发布基本是同步的.(Larry DeLuca)

8、计算机会不会思考这个问题就像问潜水艇会不会游泳一样.(Edsger W. Dijkstra,图灵奖获得者)

9、活了一百年却只能记住30M字节是荒谬的.你知道,这比一张压缩盘还要少.人类境况正在变得日趋退化.(Marvin Minsky,人工智能研究的奠基人)

信任

10、这座城市的中央计算机告诉你的?R2D2,你不该相信一台陌生的计算机!(C3PO,星球大战中的翻译机器人)

11、永远不要相信一台不能扔掉一扇窗户*的计算机(斯蒂夫沃兹尼亚克,苹果联合创始人)
*译者:暗指微软的wINDOWS操作系统

硬件


12、硬件:计算机系统中可被踢的部分.(Jeff Pesis)

软件

13、今天大部分的软件都很像上百万块砖堆叠在一起组成的埃及金字塔,缺乏结构完整性,只能靠强力和成千上万的奴隶完成.(阿伦凯,图灵奖获得者,面向对象创始人)

14、我终于明白'向上兼容性'是怎么回事了.这是指我们得保留所有原有错误.(Dennie van Tassel)

操作系统


15、有两样重要产品出自伯克利:LSD和BSD*.我们不相信这是个巧合.(Jeremy S. Anderson)
*译者:LSD是一种药力至强的迷幻剂,BSD-BSD(Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统

16、2038年1月19日,凌晨3点14分07秒(UNIX中的世界末日*1970年1月1号之后的2^32秒)
*译者:word跟world同音,UNIX用4个字节(WORD)表示时间,所以最多只能计时2^32秒

17、每个操作系统都差不多 我们都一样的烂.(微软的高级副总裁布莱恩瓦伦蒂尼这样描述操作系统的安全状况,2003)

18、微软有出了个新版本,Windows XP,据大家说是'有史以来最稳定的Windows', 对我而言, 这就好像是在说芦笋是'有史以来发音最清脆的蔬菜一样' (Dave Barry)

互联网

19、互联网?那个东西还在吗?(Homer Simpson)

20、网络就像是个母夜叉.我每转到一处都会看见小个的按钮命令我提交*.(Nytwind)
*译者注:Submit:提交,另一层意思是要求屈服

21、想想看吧,已经有一百万只猴子坐在一百万台打字机旁,可Usenet就是比不上莎士比亚.(Blair Houghton)

软件产业

22、计算机软件产业最为惊人的成就,是其持续不断地放弃硬件产业的惊人成果和稳定性.(Henry Petroski)

23、真正的创新经常来自于那些贴近市场、但无力拥有市场的的小型初创公司.(Timm Martin)

24、人们常说,伟大的科学学科就像是站在其它巨人肩膀上的巨人.人们也说过,软件产业正如站在其他侏儒脚上的侏儒.(Alan Cooper,交互设计之父)

25、这无关比特、字节和协议,而关乎利润和损益.(郭士纳,IBM前CEO)

26、我们是微软.反抗是徒劳的.你会被同化的.(保险杠贴纸)

软件演示

27、不管演示在彩排的时候有多好,一旦在观众面前展示时,演示不出错的几率与观众人数成反比,与投入的金钱总额成正比.(Mark Gibbs)

软件专利

28、专利大多数都是垃圾.浪费时间去阅读这些专利是愚蠢的.只有专利持有人才会这么干,还得强迫自己才会看.(Linus Torvalds,LINUX创始人)

复杂性

29、控制复杂性是计算机编程的本质.(Brian Kernigan)

30、复杂性杀死一切.它把程序员的生活给搞砸了,它令产品难以规划、创建和测试,带来了安全挑战,并导致最终用户和管理员沮丧不已.(Ray Ozzie)

31、进行软件设计有两种方式.一种是让它尽量简单,让人看不出明显的不足.另一种是弄得尽量复杂,让人看不出明显的缺陷.(C.A.R. Hoare)

32、好的软件的作用是让复杂的东西看起来简单.(Grady Booch,UML创始人之一)

易用性

33、不管那些计算机书籍如何宣称,只需记住,你并非'傀儡'.真正的傀儡是那些无法设计出易于使用的硬件和软件的那些人,尽管他们是技术专家,因为这是普通消费者赖以生活的东西.(Walter Mossberg,科技专栏记者)


34、软件供应商在努力尝试让他们的软件更'易于操作' 迄今为止,他们最好的办法就是翻出所有的老手册,然后在封面盖上'易于操作'这几个字.(比尔盖茨)

35、有个老套的故事说有人希望他的计算机能像他的电话机一样好用.他的愿望实现了,因为我已经不知道该如何使用自己的电话了.(Bjarne Stroustrup,C++之父)

用户

36、任何一个傻瓜都会用电脑.很多都会.(Ted Nelson)

37、只有两个行业把客户称为'用户'*.(Edward Tufte,信息设计大师)
*译者注:一个是计算机设计,另一个是毒品交易,computer design and drug dealing

程序员

38、程序员在跟宇宙赛跑,他们在努力开发出更大更好的傻瓜程序,而宇宙则努力培养出更大更好的白痴.到目前为止,宇宙领先.(Rich Cook)

39、你们当中很多人都知道程序员的美德.当然啦,有三种:那就是懒惰、急躁以及傲慢.(Larry Wall,Perl发明者)

40、程序员的问题是你无法预料他在做什么,直到为时已晚.(Seymour Cray,超级计算机之父)

41、那就是这些自认为痛恨计算机的人的真实面目.他们实际上真正痛恨的是糟糕的程序员.(拉瑞尼文,科幻作家)

42、很长时间以来我一直困惑不已,为什么一些又贵又先进的东西会一点用都没有.直到我突然想起,计算机不就是一台愚蠢之至却拥有难以置信的做聪明事能力的机器嘛,而程序员不就是聪明绝顶却拥有难以置信的干蠢事的能力的人嘛.一句话,他们简直就是天生绝配.(比尔布莱森,旅游文学作家)

43、不像学学涂涂画画也能让某人成为专家级画家,计算机科学教育不会让任何人成为一名编程大师.(埃里克雷蒙,开源运动领袖)

44、一个程序员是经历以下事情后仍能证明自己是严格的专家的人:他可以历经数不清的捶打,可取材于无关紧要的文档,用上面的争议数据作出模糊假设,并以此计算出测微精度的无数片面理解的答案,并由一个不可靠、脑袋充满质疑、公开宣称要让一个倒霉透顶、没有指望、毫无防备,要求第一时间获得信息的部门狼狈不堪、令人生厌的人使用一台准确度有问题的仪器去实施.(IEEE网格新闻杂志)

45、运气好的黑客能用几个月的时间 - 生产出一个小规模的开发团体(比如说,7-8人)历尽艰辛一起工作了一年多才能做出来的东西.IBM经常报告说某些程序员的生产力要比其它工人高百倍,甚至更多.(Peter Seebach,黑客)

46、最好的程序员跟好的程序员相比可不止好那么一点点.这种好不是一个数量级的,取决于标准怎么定:概念创造性、速度、设计的独创性或者解决问题的能力.(兰德尔E斯特劳斯,科技作家)

47、伟大的车工值得给他几倍于普通车工的薪水,但一个伟大的软件代码作家,其价值则要等同于一个普通的软件写手的价格的1万倍.(比尔盖茨)

编程

48、就算它工作不正常也别担心.如果一切正常,你早该失业了.(Mosher的软件工程定律)

49、靠代码行数来衡量开发进程就好比用重量来衡量飞机制造的进度.(比尔盖茨)

50、写代码的社会地位比盗墓的高,比管理的低.(杰拉尔德温伯格,软件与系统思想家)

51、首先学习计算机科学及理论.接着形成自己编程的风格.然后把这一切都忘掉,尽管改程序就是了.(George Carrette,杰出软件工程师,开源推广者)

52、先解决问题再写代码.(John Johnson)

53、乐观主义是编程行业的职业病;用户反馈则是治疗方法.(Kent Beck)

54、迭代者为人,递归者为神.(L. Peter Deutsch)

55、布尔值最好的一点是,就算你错了,也顶多错了一位而已.(无名氏)

56、数组的下标是从0开始好还是从1开始好呢?我的0.5的折衷方案,以我之见,没有经过适当考虑就被否决掉了.(Stan Kelly-Bootle)

编程语言

57、只有两种编程语言:一种是天天挨骂的,另一种是没人用的.(Bjarne Stroustrup,C++之父)

58、PHP是不合格的业余爱好者创建的,他们犯做了个小恶;Perl是娴熟而堕落的专家创建的,他们犯了阴险狡诈的大恶.(Jon Ribbens)

59、COBOL的使用摧残大脑;其教育应被视为刑事犯罪.(E.W. Dijkstra)

60、把良好的编程风格教给那些之前曾经接触过BASIC的学生几乎是不可能的.作为可能的程序员,他们已精神残废,无重塑的可能了.(E. W. Dijkstra)

61、我想微软之所以把它叫做.Net,是因为这样它就不会在Unix的目录里显示出来了.(Oktal)

62、There is no programming languageno matter how structuredthat will prevent programmers from making bad programs.(Larry Flon)

63、计算机语言设计犹如在公园里漫步.我是说侏罗纪公园.(Larry Wall)

C/C++

64、搞了50年的编程语言的研究,我们难道就以C++告终啦?(Richard A. O'Keefe)

65、写C或者C++就像是在用一把卸掉所有安全防护装置的链锯.(Bob Gray)

66、在C++里你想搬起石头砸自己的脚更为困难了,不过一旦你真的做了,整条腿都要报销.(Bjarne Stroustrup)

67、C++ : 友人可造访你的私有成员之地也.(Gavin Russell Baker)
译者:Friends:C++的友元,是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字 friend.友元不是成员函数,但是它可以访问类中的私有成员.友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员.

68、罗马帝国灭亡的其中一个主要原因是他们没有0 - 这样他们就没法给自己的C程序指明成功退出的路径了.(Robert Firth)

Java

69、Java从许多方面来说就是C++.(Michael Feldman)

70、说Java好就好在运行于多个操作系统之上,就好像说肛交好就好在不管男女都行.(Alanna)

71、好吧,Java也许是编程语言的好榜样.但Java应用则是应用程序的坏榜样.(pixadel)

72、要是Java真的有垃圾回收的话,大部分程序在执行的时候就会把自己干掉了.(Robert Sewell)

开源

73、软件就像性事:免费/自由更好.(Linus Torvalds)

74、唯一对免费软件感到害怕的人,是自己的产品还要不值钱的人.(David Emery)

代码

75、好代码本身就是最好的文档.(Steve McConnell)

76、你自己的代码如果超过6个月不看,再看的时候也一样像是别人写的.(伊格尔森定律)

77、前面90%的代码要占用开发时间的前90%.剩下的10%的代码要占用开发时间的另一90%.(Tom Cargill)

软件开发

78、好的程序员会用脑,但是好的向导救我们于样样都要想到.(Francis Glassborow)

79、在软件里面,我们鲜有有意义的需求.就算有,衡量成功的唯一尺度也取决于我们的解决方案是否解决了客户对问题是什么的观念的转变.(Jeff Atwood)

80、想想我们计算机程序的糟糕现状吧,很显然软件开发仍是黑箱艺术,还不能称之为工程学科.(Bill Clinton,前美国总统)

81、没有伟大的团队就没有伟大的软件,可大部分的软件团队举止就像是支离破碎的家庭.(吉姆麦卡锡,微软VC++总监)

调试

82、一旦我们开始编程,就会惊讶地发现让程序正常没想象中那么简单.调试不可避免.那一刻我认记忆犹新,当时我就意识到,从今往后我生活的大部分时间都要花在寻找自己程序的错误上面了.(莫里斯威尔克斯 调试探索, 1949)

83、调试难度本来就是写代码的两倍.因此,如果你写代码的时候聪明用尽,根据定义,你就没有能耐去调试它了.(Brian Kernighan)

84、如果调试是除虫的过程,那么编程就一定是把臭虫放进来的过程.(Edsger W. Dijkstra)

质量

85、我才不管它能不能在你的机器上运行呢!我们又没装到你的机器上!(Vidiu Platon,罗马尼亚的微软最佳学生合作伙伴MSP)

86、编程就像性一样:一时犯错,终生维护.(Michael Sinz)

87、有两种写出无错程序的办法;只有第三种有用.(Alan J. Perlis)

88、软件质量与指针算法不可兼得.(Bertrand Meyer)

89、如果麦当劳像软件公司那样运作的话,每一百个巨无霸就会有一个令你食物中毒,而他们的回应是,'真对不起,这是一张额外附送两个的赠券.' (Mark Minasi)

90、永远要这样写代码,好像最终维护你代码的人是个狂暴的、知道你住在哪里的精神病患者.(Martin Golding)

91、是人都会犯错,不过要想把事情彻底搞砸还得请电脑出马.(Paul Ehrlich)

92、计算机比人类历史上的任何发明都更快速地导致你犯更多的错误可能除了手枪和龙舌兰酒是例外.(Mitch Radcliffe)

预测

93、能发明的东西都发明出来了.(查尔斯杜埃尔, 美国专利局局长,1899年)

94、我认为全球市场约需5台计算机.(托马斯沃森, IBM董事长, 约1948年)

95、看上去我们已经到达了利用计算机技术可能获得的极限了,尽管下这样的结论得小心,因为不出五年这听起来就会相当愚蠢.(约翰冯诺伊曼,约1949年)

96、但这又有什么好处呢?(IBM先进计算机系统部的工程师对微芯片的评论, 1968年)

97、我们没有理由让每一个人在家都拥有一台电脑.(肯奥尔森,数据设备公司(DEC)总裁,1977年)

98、640K对每一个人来说都已足够.(比尔盖茨,1981年)

99、Windows NT的RAM寻址空间可达2G,这比任何应用程序所需都要多.(微软, 谈及Windows NT的开发时所言, 1992年)

100、我们永远也无法真正成为无纸化社会,直到掌上电脑一族发布擦我1.0*(WipeMe 1.0)为止.(安迪.皮尔逊,商界领袖)
*译者注:意思是说难道你大便不用纸吗?

101、长此以往,除了按键的手指外,人类的肢体将全部退化.(弗兰克??劳埃德??赖特,建筑师)

posted @ 2009-05-22 18:52 chaosuper 阅读(401) | 评论 (1)编辑 收藏

     摘要: The Programmng Language Beacon (fwd) The Programmng Language Beacon v3.4 -- 2009年4月 该表包含了主要软件产品或应用,以及实现所用的编程语言详细信息。有关信息很难找到,一些小错误可能会掠过作者的眼帘,欢迎给出修改、添加、以及引用的建议。该列表不会面面俱到,仅仅列出主要应用。具体到产品家族...  阅读全文
posted @ 2009-05-21 23:47 chaosuper 阅读(297) | 评论 (0)编辑 收藏

C++对象模型系列:

本系列是主要是作者经验的总结且同时参考了大量的网络文章,希望能够给C++的学习者有所帮助,但是由于作者水平有限,难免有错,希望大家能够指出,我将虚心地向大家学习,与大家共同进步!本系列的开发环境是Windows 32+VS2008。

文章:

 指针和引用    http://www.cnblogs.com/itech/archive/2009/02/20/1394272.html
 指针与数组   http://www.cnblogs.com/itech/archive/2009/02/22/1395434.html
 指针与字符串http://www.cnblogs.com/itech/archive/2009/02/22/1395491.html
 堆栈与函数调用http://www.cnblogs.com/itech/archive/2009/02/23/1395515.html
 sizeof与对象内存布局http://www.cnblogs.com/itech/archive/2009/02/25/1396740.html
 单继承与虚函数表    http://www.cnblogs.com/itech/archive/2009/02/27/1398224.html
 多重继承与虚函数表 http://www.cnblogs.com/itech/archive/2009/02/28/1399995.html
 虚继承与虚函数表  http://www.cnblogs.com/itech/archive/2009/02/27/1399996.html
 类型转化 http://www.cnblogs.com/itech/archive/2009/02/25/1398230.html

参考:

1) C++对象模型
 C++对象模型笔记:http://blog.csdn.net/ZengMuAnSha/archive/2004/10/13/135477.aspx
 C++对象内存布局1:http://blog.csdn.net/haoel/archive/2008/10/15/3081328.aspx
 C++对象内存布局1:http://blog.csdn.net/haoel/archive/2008/10/15/3081385.aspx
 C++虚函数表解析: http://blog.csdn.net/haoel/archive/2007/12/18/1948051.aspx
 字节对齐1:http://blog.csdn.net/xuegao007/archive/2007/07/26/1708349.aspx
 字节对齐2:http://blog.csdn.net/xuegao007/archive/2007/07/26/1708355.aspx
 字节对齐3:http://blog.csdn.net/xuegao007/archive/2007/07/26/1708360.aspx
 sizeof : http://blog.csdn.net/xuegao007/archive/2007/08/23/1756047.aspx
 C++内存对象大会战1:http://blog.csdn.net/xuegao007/archive/2007/08/03/1723765.aspx
 C++内存对象大会战2:http://blog.csdn.net/xuegao007/archive/2007/08/03/1723766.aspx
 C++内存管理详解 : http://www.cnblogs.com/dazhong/articles/721704.html
 C++内存布局 :http://www.cnblogs.com/len3d/archive/2007/09/26/906899.html
 Visual C++ 8.0对象布局的奥秘:虚函数、多继承、虚拟继承 : http://www.cnblogs.com/neoragex2002/archive/2007/11/01/VC8_Object_Layout_Secret.html
 关于typeid和RTTI的问答  :http://blog.csdn.net/gxj1680/archive/2009/01/05/3715364.aspx
 字符串与数组工具收藏:http://tfzxbookshell.spaces.live.com/blog/cns!EB39D7FA27BCD1A1!902.entry
 memset ,memcpy 和strcpy 的根本区别?:http://tfzxbookshell.spaces.live.com/blog/cns!EB39D7FA27BCD1A1!904.entry
 函数调用约定和堆栈:http://www.fmddlmyy.cn/text12.html
 Win32程序函数调用时堆栈变化情况分析收藏:
http://www.cnblogs.com/hellohuan/archive/2008/07/07/1237371.html
http://blog.csdn.net/wenjie2005/archive/2008/01/09/2031377.aspx
C++ sizeof 使用规则及陷阱分析: http://freeman.cnblogs.com/articles/sizeof.html
What static_cast<> is actually doing:http://www.codeproject.com/KB/cpp/static_cast.aspx
Using generics in C++/CLI:http://www.codeproject.com/KB/mcpp/cppcligenerics.aspx
Type Casting:
http://www.cplusplus.com/doc/tutorial/typecasting.html
http://en.wikipedia.org/wiki/Typeid
type_info:
http://msdn.microsoft.com/zh-cn/library/70ky2y6k(en-us,VS.80).aspx
http://www.cplusplus.com/reference/std/typeinfo/type_info.html
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=120
http://www.atnf.csiro.au/computing/software/sol2docs/manuals/c++/prog_guide/RTTI.html
http://www.linuxtopia.org/online_books/programming_books/c++_practical_programming/c++_practical_programming_208.html
http://en.wikibooks.org/wiki/C%2B%2B_Programming/RTTI
http://docs.hp.com/en/B3901-90024/ch06s05.html
各种cast:
http://www.codeproject.com/KB/mcpp/castingbasics.aspx
http://www.cplusplus.com/doc/tutorial/typecasting.html
http://blog.baisi.net/?441896/viewspace-4063
http://blog.csdn.net/singno116/archive/2008/04/18/2304962.aspx
http://blog.chinaunix.net/u2/70445/showart_1357610.html
http://read.newbooks.com.cn/info/50236.html

posted @ 2009-05-12 00:33 chaosuper 阅读(191) | 评论 (0)编辑 收藏

  本文以轻松的笔调介绍了自己在Linux环境下进行程序开发的体会和经验,主要是对Linux下的开发工具和开发环境做了一个生动、明快的描述。   linux开发环境之最:   最有用开发语言: C/C++,Perl,Pascal.   最流行的工具集: gtk/gdk,qt,xforms   最好的可视化开发工具: glade,designer,kdeveloper   最cool的代码阅读工具: source navigator   最普及的调试工具: gdb, ddd   最高级(主要指价格高级)的程序跟踪工具: BDM,ICE   最强大的开发平台: Redhat linux 7.1, Turbolinux 6.1,Hard Hat linux(HHL), Blue cat linux   最快但最年青(年青就是不成熟,吃不得)的图形:nano-X,microwindows,minigui   部分名词的意思:   gtk/gdk: 做 GIMP(linux很有名的图象处理软件的工具集   qt: trollteck公司的产品,用qt/x11跟qt/embedd   xforms: 我也不知道怎么写这类程序,反正是经常用到,很成熟,可以吃了   glade: 开发gtk/gdk程序的图形工具,能完成界面的编辑(这比用VI做界面好10^n 倍,本人曾经用vi 以每天2000行程序的速度写过gtk的应用,整整写了一个月,后来用glade用重来,一周就完成了)   designer: 开发qt/x11程序的图形工具,能完成界面的编辑,也可以开发qt/embedded的程序   kdeveloper: 类似VC一样,功能强大   source navigator: redhat公司出的代码阅读器,supper cool.   microwindows: win32接口GUI,又小又快,用于PDA   nano-X: 多任务的microwindows   miniGUI: 类似上面两种图形,国产的,虽然我没用过,但基于支持国产软件的原则,我想绝对比nano-X及microwindows好。   开发建议   知道了如上的一些东西,我们就可以决定开发的方向了:   1.对于C程序员 C + gtk/gdk + glade + 中文turbolinux   2.对于C++程序员 C++ + qt/x11 + designer + kdeveloper + 中文turbolinux   3.embedded程序员 c/c++ + qt/embedded + HHL   4.embedded爱好者 c/c++ + microwindows + HHL   5.像我这样什么都会的天字号 c/c++ + qt/X11/embedded + designer + gtk/gdk +glade + source navigator + gdb + ddd + bdm + turbolinux + HHL   如上是经验之谈,各位可以参考参考,不听"老人"言,吃亏在眼前!
posted @ 2009-04-30 20:31 chaosuper 阅读(398) | 评论 (0)编辑 收藏

         http://www.ruby-lang.org/en/
posted @ 2009-04-02 19:30 chaosuper 阅读(70) | 评论 (0)编辑 收藏

Lua
         Lua是一种相对较新的脚本语言,它很快受到人们的欢迎.游戏程序员特别喜欢它.
         这种语言的作者是坚定的极简主义者,Lua的最大优点是它占有很小的内存空间,就功能而言,Lua在许多方面和JavaScript相似,尽管它要比JavaScript小得多,快得多.
         Lua程序由源代码编译成字节码,然后由Lua虚拟机执行.这可以将速度提高很多.Lua特别擅长表格操作.它的核心数据结构是散列表.事实上,Lua只有7种数据结构,线程,用户数据,函数,布尔型,数字,字符串和表格.
         Lua语言是一种无用单元收集语言.因此内存管理是由实现过程自动处理的.
         关于Lua语言的更多信息,请访问 http://www.lua.org
posted @ 2009-04-02 17:59 chaosuper 阅读(174) | 评论 (0)编辑 收藏

     摘要: Baidu 2008校园招聘应 聘 指 南1(以上礼品图片仅供参考) 中国信用人才网送礼了!我们已经为各位准备好了名牌数码摄像机,名牌MP3等100份金秋厚礼。所有在2007年9月30号之前注册为中国信用人才网会员者将有均等机会获得我们精心为您准备的100份好礼! 请各位会员在填写简历及建立信用档案时填写清楚您的联系方式(电话及地址),以便奖品发放。 温馨提示:已建立信用档案的获奖会员还将获得额外...  阅读全文
posted @ 2009-03-28 00:08 chaosuper 阅读(1993) | 评论 (0)编辑 收藏

仅列出标题
共12页: First 4 5 6 7 8 9 10 11 12