2009年7月30日星期四

(ChinaSat-6B)中星6B中数节目昨晨解密

昨日早上还没起床时,我拿手机上了一会儿网,发现了一个惊人的消息,中星6B的部分加密节目解密了。我就赶紧起床,看了一会儿很久不见的中央3/5/6/8(CCTV3/CCTV5/CCTV6/CCTV8)和一些中数传媒的数字付费节目,可是在三四分钟后就都恢复加密了,心想肯定不会再解密了。但是,没想到的是,在大约二十分钟后,这些又都解密了,直到现在还是...估计是加密系统出故障了吧!哈哈,能看几天就几天吧!

2009年7月23日星期四

测试一下,用Gmail来更新Blogger

听说Blogger可以用电子邮件来更新文章,我就来试发一篇,虽然不能添加书签,但是在手机上使用还是很实际的(毕竟Blogger现在访问不了啊)。暑假到了,无聊在家中...
...

2009年7月16日星期四

人生哲理格言

刚柔并济:只知道刚的人,难免会被折断;只有柔的人,到头来终是懦夫。

沟通定律:少说话会更有威严,不揽权会更有权,无亲属会更亲密,勤交心会更同心。

理想的人生:人若有100岁的境界,80岁的胸怀,60岁的智慧,40岁的意志,20岁的激情,加上两三岁的孩童心,该有多好啊!

##CONTINUE##

时间的魔力:任何吃不下的东西都可以让垃圾桶去吃,同样,任何解决不了的问题都可以让时间去解决。

思考的角度不同:智者受到赞美时,字字反思;愚者受到批评时,句句反驳。

成就智慧的方法:用中庸拒绝极端;用务实发挥影响;用冷静选择决策;用自觉端正态度;用勇气抛弃包袱;用真心追随智慧。

典型的庸人自扰:忙的时候,想要休息;度假的时候,惦念着公务;穷的时候,渴望富有;生活安逸了,担心生活不能长久。

别把小人当回事:对付小人,就像对付没有烧透的煤:碰碰,才会燃烧;晾着,自然就灭了。

关键在于是否有慧心:鼓励自己最好的手段,是欣赏自己;欺骗自己最好的手段,也是欣赏自己。

初涉职场者最欣赏的四句话:放弃了该放弃的是无奈;放弃了不该放弃的是无能;不放弃该放弃的是无知;不放弃不该放弃的是无悔。

会赚钱的人都是懂得投资的人:赚钱的最大障碍是不懂。我们中很多人不选择投资就是因为不了解投资。

人际关系中看似不起眼的六个用语:我承认我犯了一个错误,你的工作做得很好,你的意见是什么,请,非常感谢,咱们。

突破自己 改变人生

有一个人在河边钓鱼,每当他钓到一条大鱼时,他就把它扔回河里,钓到小鱼时,他就留下来。一位过路人看到这个情况觉得很奇怪,就问他:“为什么不要大鱼,只要小鱼呢?”不料这个钓鱼者回答说:“因为我家只有一口小锅,没有大锅呀!
根据专家的估计,77%的人不满意目前的工作,既然如此,我曾经问一些学员,为什么不去改变?为什么还重复着同样的生活?难道不知道“重复旧的行为只能导致旧的结果吗?”但是他们都会告诉我:“没有办法”、“不可能”。难道是真的是“没有办法”或者“不可能”吗?
##CONTINUE##
问你一个问题:我们“已经知道的范围”比较大?还是“不知道的范围”比较大?答案当然是“未知的范围”比较大。既然是这样,那么当你说“没有办法、不可能”时,又代表什么呢?

它只是代表在你“已知范围”内的方法都已经试过没有效而已,对吗?

其实突破是完全有可能的,只要你能不断地突破“已知的范围”,进入到未知的领域,不达目的誓不罢休,不断地去寻找新的解决方法。

有人不禁要问:“那么到底要如何才能有效地突破呢?”其实答案很简单,就是要让自己开始去做一些你过去没有做过的事情、你过去不敢做的事情,这才叫突破!如果你还在你已知的范围内、你熟悉的领域里打转的话,又怎么能够产生新的结果呢?别忘了:重复旧的行为只能得到旧的结果!还记得“精神病人”的定义吧。

在人生中的其他事也一样,没有办法只是说我们已知范围内的方法已经用尽,只要我们能够不断地去尝试新的事物、新的机会、新的方法,不断地去突破自我、改变自我,永远都没有“没有办法,不可能”这句话!

你现在是否可以真的明白,面对你自己的幸福快乐永远都不说这三个字——“不可能”!就像五百年前,你如果跟别人说,你坐上一个银灰色东西就可以飞上天;你拿出一个黑色的小盒子就能够跟远在千里之外的朋友说话;打开一个“方柜子”就能看到世界各地发生的事情……,他们也同样会告诉你“不可能”,对吗?如今不是都已变成了现实吗?

我始终坚信:每个人都是可以成功的,而关键在于能否驱除这些限制性的信念!人生当中没有什么可以限制得了自己,如果你能朝着目标不断尝试,永不放弃!

让“不可能”安息吧!

最后,我与大家分享一件有趣的故事:有一位老师名叫汤娜,她是美国密西根小学的资深老师,再过两年便要退休了。她志愿参加了一个全市教职员的在职训练。这个训练主要是借着一些表达的方式来鼓励学生,坚强信心,进而爱惜自己的生命。汤娜的工作则是借着参与训练进而将这些理念实现。

那一天,汤娜在课堂上叫所有的同学在纸上写下自己认为“做不到”的所有事情。每个学生都乖乖地坐在位子上,绞尽脑汁在纸上写着。

班上的每个人都在纸上写下了他们所不能做到的事。诸如:

“我没法做30次的仰卧起坐。”

“我发球无法超过前边的球网。”

“我不能只吃一块饼干就停止。”

整个活动令人好奇,汤娜在讲台边坐下来,写道:“我无法让约翰的母亲来参加家长会”、“我无法不用体罚好好管教亚伦”。

我相信,很多人都会反对老师让学生如此专注于消极的一面,而不去看积极的那一面,诸如:“我能做”这一类的。但是我们不妨先忍耐一下,看看她们到底是在干什么?

同学们大约又写了10分钟。大部分写满了一整张纸,甚至有人开始写下页。

汤娜告诉学生,完成现在写的这一张,并提示学生将纸对折,交到前面来。学生依次来到老师的桌子前,把纸张投入一个空的鞋盒内。

把所有学生的纸张收齐之后,汤娜把自己的也投进去。她把盘子盖上,塞在腋下,带头走出教室,沿着走廊。学生跟着老师走了出去。

走到一半,整个行列停了下来。汤娜进入门卫室,找铁铲、铁锹。她一手拿着盒子,另一手拿着铁锹,带领大家到运动场最远的角落,大家开始挖了起来。

原来,他们打算埋葬“我不能”。整个挖掘过程历时20分钟,因为每个孩子要轮流挖。直到洞有三尺深的时候,他们将盒子放进去,并用泥土把盒子完全埋葬。

31个十多岁的小孩,围绕着这刚刚埋好的“墓地”,里面埋着所有每一个“力不能胜”的事情,这些都深深地埋藏在三尺的泥土下。

此时汤娜开口了:“同学们,现在手牵手,低头默哀。”同学们很快地手牵手围绕墓地成了一个圆圈,低下头来等待,汤娜则念出一段悼词。

“各位同学,今天很荣幸能邀请各位来参加‘我不能’先生的葬礼。他在世的时候,参与我们的生命,甚至比任何人影响我们还深。他的名字,我们几乎天天挂在嘴边,出现在各种场合:如工厂、学校、市政府、议会、甚至白宫。”

“现在,希望‘我不能’先生能平静安息,并为他立下墓碑,上面刻着墓志铭。死者已矣、来者可追,希望您的弟兄姊妹:‘我可以’和‘我愿意’能继承您的事业。虽然他们不如您来得有名、有影响力。如果您地下有知,请帮助他们,让他们对世界更有影响力。

“愿‘我不能’先生安息,也希望他的死能鼓励更多人站起来,向前迈进。阿门!”

听完这段悼词之后,我想同学们是永远不会忘记这一天的。这个活动是这样具有象征性,这样意义深远。

这个特别的正面鼓励将深刻在每个孩子的心灵上。

写上“我不能”,埋葬它、聆听悼词。老师完成了大部分的活动,但现在还没结束。她带领学生回到教室。大家一齐吃饼干、爆米花、果汁,庆祝他们越过了“我不能”的心结。汤娜则用纸剪下墓碑形状,上面写着“我不能”,中间加上“安息吧!”再把日期填上。

这个纸墓碑挂在汤娜的教室里。每当有学生无意说出:“我不能……”这句话的时候,汤娜只要指着这个象征死亡的标志。孩子们便会想起“我不能”已经死了,进而想出积极的解决方法。

这个事件对你有什么启发吗?

当你或你身边的朋友无意中又说起“我不能……的时候,请别忘了提醒一下:“我不能先生”已经死了!

恭喜你,又上了一个台阶。

展现在你眼前的是一个可能性的世界!

再一次祝福你!

2009年7月15日星期三

史诗搞笑体育片《中药足球》

史诗搞笑体育片《中药足球》

史诗搞笑体育片又名中药足球,由杜天一担任女主角,为网友恶搞国足电影,有点意思。网友戏称其大作为史诗搞笑体育片,很有史诗电影的风格特点,画面做得很唯美细腻,故事情节搞笑不可思议。

网友恶搞国足大作史诗搞笑体育片闪亮登场:中药足球

网友最新恶搞国足史诗搞笑体育片:《中药足球》闪亮登场,故事背景设定为宋朝,一次蹴鞠比赛中,宋朝2-3不敌高丽国,延续了宋朝逢高丽30场比赛不胜的尴尬歷史 (“恐韩症”塬来是歷史遗留问题……)。宋徽宗闻讯龙颜大怒,召见当时的蹴鞠协会主席兼国蹴教练-高俅(中国特色古已有之……)。高俅万般无奈之下,只能飞鸽传书给住在白云山的爱妾舒氏求其出谋划策以解丢官之灾。没想到舒氏早有妙计——给“国足”吃中药!同时配合“斗鸡术”,并派丫鬟翠平潜伏到高丽窃取情报。如此这般之后,“国足”果然实力大涨,宋朝国蹴队30-0横扫高丽。宋徽宗龙颜大悦,赐封舒氏为宋朝国师,将她炼製的丹药赐名为“舒氏健腰丸”,并将蹴鞠列为国球。此后,传说就这样延续下去……
##CONTINUE##

史诗搞笑体育片创作缘由

中国身为运动大国,在北京奥运上狂摘五十一金,成绩傲视全球,但是做为民族运动足球项目却是中国人的痛,只在京奥拿了倒数第叁名。河特了解到更可怕的是中国足球队更患有「恐韩症」,过去卅年国际赛总是输给南韩队,战绩二十五负。网友说,国足队就算找到美女来练神丹,也是一败再败。又因中国国家足球队近来战绩极差,遭大陆网友讥为国际「大肉脚」,屡战屡败。为振兴国足,广药集团日前唿吁透过中药药疗与足球,帮球员强身健体,治标亦治本。结果网友以此为笑柄,製作一部性感又梦幻的「史诗搞笑体育片」。

另外广药董事长李楚源日前高唿要用中药拯救中国足球,他认为二○○二年世界盃韩国队能打入四强,全归功于因为高丽参、「青蛙补药」等中药补品,大幅提高球员的体力与耐力。部分媒体认为这是个创举,但也有网友大骂,认为两者根本毫不相关。因此创作这部史诗搞笑体育片借片叙事。

史诗搞笑体育片《中药足球》剧情介绍

在这支由网友将众多广告改编的史诗搞笑体育片中,宋朝蹴鞠队输给了高丽队,累积卅连败(暗讽大陆国足球连败给韩国队卅年),这让宋徽宗暴跳如雷。他命令蹴鞠协会主席兼国蹴教练高俅,不然就把他革职。高俅实在无计可施,便送出飞鸽传书,向白云山上的爆乳爱妾舒氏求救。舒氏献出奇策,先炼出「补肝肾、强筋骨」的神效药丸,更代夫操练球队,传授「斗鸡术」。神丹异术,加上舒氏上半身两颗半球,让宋朝队士气大振,果然功力大增,再战高丽队时大获全胜。宋徽宗乐不可支,赐封舒氏为国师,将这药丸丹药赐名为「舒氏健腰丸」,并把蹴鞠封为国球。片中扮演舒氏的杜天一长相甜美、身材火爆,在网络上引起热烈讨论。

新西兰地震了,这几天地球很活跃啊!

这几天全球的地震可真多啊,看看最新的!7月15日,澳大利亚发布小海啸警报,称新西兰地震区域所引发小海啸向澳大利亚海域袭来。早些时候,新西兰西部沿岸地区发生7.8级强烈地震,随后发布海啸警报。
  对于震级的说法各个检测部门有所不同,其中一家位于夏威夷的海啸预警中心称,震级达到里氏8.2级。新西兰南岛的皇后镇是著名的旅游景点。感受到地震的游客从饭店里冲了出来,饭店内的照明和电话已经停用。

中国科学家将在日全食期间开展多项科学研究

在7月22日长江流域日全食期间,中国科学家将抓住有利时机开展多项科学研究。
中国科学院和国家自然科学基金委员会组织了系列日全食科学观测课题。在日全食期间,中国科学家将分赴各地日全食观测现场,进行日冕光谱和成像观测、白光观测、太阳耀斑偏振光谱的空间分布、水内星搜索、日全食的电离层效应、日全食期间重力异常观测、闪光谱观测、日全食射电宽带动态频谱观测等研究。
据介绍,届时国际天文学联合会及有关国家的科学家也将到中国杭州及周边地区开展观测研究工作。

我校IPV6又要加速建设了

昨天看到学校网络中心出现一个通知,很高兴啊,可能下学期开学学校的ipv6会建设得更好啊!

关于教学区、学生区网络设备升级更新的公告
“教育科研基础设施IPv6技术升级和应用示范项目”是教育部申请立项,全国100所高校参加的网络建设项目。我校是该项目的子项目“校园网IPv6技术升级”的承担单位。目前该项目已进入实施阶段,信网中心将于近期开始对我校教学区和学生区的网络设备进行升级更换。更换时将分批、分区域的进行,并尽量减少对用户上网的影响。由于此次升级更新的设备数量多、范围广,因此对用户正常使用造成的影响,也请用户予以谅解。对每一栋楼宇的网络设备进行更换前,信网中心将提前发具体的通知,也敬请广大用户关注信网中心的通知,提前安排好工作,做好准备。如有特殊重要的工作需求,请拨打电话或发电子邮件到 信箱联系,协商解决。

2009年7月14日星期二

唉,鑫诺三号卫星故障致部分地区节目中断

昨天晚上就知道了这个消息,鑫诺三号卫星出现故障,国内部分区域有线电视用户出现黑屏与错误信息。据了解,部分电视台节目内容传输受到影响。
  据公开信息显示,鑫诺三号卫星承担中央电视台部分内容、广东卫视、广西卫视、深圳卫视、吉林卫视、黑龙江卫视等节目的传输任务。
##CONTINUE##
  据中国直播卫星公司内部知情人士表示,卫星的确出现了一些技术问题,目前正在修复中,预计在今天之内可以修复。
  目前官方并未公布具体故障原因及受影响范围。
  7月13日晚间9点50分左右,有媒体报道称,鑫诺三号卫星转发器发生故障,国内部分区域的有线电视用户出现黑屏与错误讯息。
  2009年2月9日10时59分,中星6B卫星曾发生故障,导致在该卫星上传输的中央电视台、中国教育电视台以及23个省的卫视等150套电视节目全部中断,卫星故障时间共47分钟。
  资料显示,鑫诺三号卫星于2007年6月1日在西昌卫星发射中心由长征三号甲运载火箭发射,定点于东经125度赤道上空,是基于我国东方红三号卫星平台的鑫诺三号卫星是一颗C频段广播专用通信卫星。
  中国直播卫星有限公司成立于2006年12月,是中国卫星通信集团公司和鑫诺卫星通信有限公司投资设立的国有股份制卫星公司。(文元)
  附鑫诺三号卫星简介
  鑫诺三号”卫星是鑫诺卫星公司采购的专用广播电视卫星,由中国航天科技集团公司所属中国空间技术研究院为主研制,是基于我国成熟的“东方红三号”卫星平台生产的第10颗卫星,主要为通信、广播和数据传输提供服务,计划7月份投入运行,在轨寿命8年。
  “鑫诺三号”和“鑫诺二号”都是广播通信卫星,但两者性质不同:“鑫诺二号”是直播卫星,“鑫诺三号”是中继卫星。直播卫星直接向终端用户传送 信号,接收者只需要使用小型卫星接收天线就可以收到来自卫星的电视或广播节目。中继卫星则负责为有线电视台站中继信号、转播广播电视,用户再从有线电视台 接收节目。
  作为我国首颗直播卫星,“鑫诺二号”2006年10月发射升空后原计划直接服务于国家广播电视 “村村通”工程和卫星直播领域,让光缆、光纤无法到达的偏远山区只用支起一口“天线锅”就可以接收直播电视或广播信号,但由于定点过程中出现技术故障,太 阳帆板二次展开和通信天线展开未能完成,卫星无法提供服务。
  “鑫诺三号”容量较小,只有10个转发器,但具备先进的防止地面上行信号恶意干扰功能,可以确保节目的安全、优质传送。“鑫诺三号”投入使用后,我国目前的部分卫视节目将从“亚太6A”等卫星上转到“鑫诺三号”上,卫视信号将更加安全可靠。

VC基础学习:初学者指针指南


何为指针?
  指针基本上和其它的变量一样,唯一的一点不同就是指针并不包含实际的数据,而是包含了一个指向内存位置的地址,你可以在这个地址找到某些信息。这是一个很重要的概念,并且许多程序或者思想都是将指针作为它们的设计基础,例如链表。
  开始
  如何定义一个指针?呃,就像定义其它的变量一样,不过你还需要在变量名之前添加一个星号。例如,下面的代码创建了两个指向整数的指针:
  int* pNumberOne;
  int* pNumberTwo;
  注意到变量名的前缀“p”了吗?这是编写代码的一个习惯,用来表示这个变量是一个指针。
##CONTINUE##
  现在,让我们把这些指针指向一些实际的值吧:
  pNumberOne = &some_number;
  pNumberTwo = &some_other_number;
  “&”标志应该读作“the address of(……的地址)”,它的作用是返回一个变量的内存地址,而不是这个变量本身。那么在这个例子中,pNumberOne就是some_number的地址,亦称作pNumberOne指向some_number。
  现在,如果我们想使用some_number的地址的话,那么我们就可以使用pNumberOne了。如果我们希望经由pNumberOne而使用some_number的值的话,我们可以用*pNumberOne。“*”应该读作“the memory location pointed to by(由……指向的内存位置)”,它用来取得指针所指向的值。不过指针声明的情况例外,如“int *pNumber”。
  到现在都学到什么了(一个例子):
  咻!要理解的东西太多了,所以在此我建议,如果你还是不理解以上的概念的话,那么最好再通读一遍;指针是一个复杂的主题,要掌握它是要花些时间的。
  这里有一个示例,解说了上面讨论的那些概念。它是由C编写成,并不带有C++的那些扩展。
  #include
  void main()
  {
  // 声明变量:
   int nNumber;
   int *pPointer;
   // 现在,给它们赋值:
   nNumber = 15;
   pPointer = &nNumber;
   // 打印nNumber的值:
   printf("nNumber is equal to : %d\n", nNumber);
   // 现在,通过pPointer来控制nNumber:
   *pPointer = 25;
   // 证明经过上面的代码之后,nNumber的值已经改变了:
   printf("nNumber is equal to : %d\n", nNumber);
   }
  请通读并编译以上代码,并确信你已经弄懂了它是如何工作的。然后,当你准备好了以后,就往下读吧!
陷阱!
  看看你是否能指出以下程序的缺陷:
  #include
  int *pPointer;
  void SomeFunction()
  {
   int nNumber;
   nNumber = 25;
   // 使pPointer指向nNumber:
   pPointer = &nNumber;
  }
  void main()
  {
   SomeFunction(); // 让pPointer指向某些东西
   // 为什么这样会失败?
   printf("Value of *pPointer: %d\n", *pPointer);
  }
  这个程序首先调用SomeFunction函数,在其中创建了一个名为nNumber的变量,并且使pPointer指向这个变量。那么,这就是问题之所在了。当函数结束的时候,由于nNumber是一个本地变量,那么它就会被销毁。这是因为当语句块结束的时候,块中定义的本地变量都会被销毁。这就意味着当SomeFunction返回到main()的时候,那个变量就已经被销毁了,所以pPointer将会指向一个不再属于本程序的内存位置。如果你不懂这一点,那么你应该去读一读有关本地变量、全局变量以及作用域的东西,这些概念非常重要。
  那么,如何解决这个问题呢?答案是使用一种名为动态分配的技术。请注意:在这一点上,C和C++是不同的。既然大多数开发者正在使用C++,那么下面的代码就使用C++来编写。
  动态分配
  动态分配也许可以算是指针的关键技术了。它被用于在没有定义变量的情况下分配内存,然后由一个指针指向这段内存。虽然这个概念好像很让人糊涂,其实它很简单。以下的代码解说了如何为一个整数分配内存空间:
int *pNumber;
  pNumber = new int;
  第一行代码声明了一个指针pNumber,第二行代码分配了一个整数的空间,并使pNumber指向这一段新分配的内存。下面是另外一个例子,这一次使用了一个double:
  double *pDouble;
  pDouble = new double;
  这些规则是相同的T,所以你应该可以很容易地掌握。
  动态分配和本地变量的不同点是:你分配的内存在函数返回和语句块结束的时候不会被释放,所以,如果你用动态分配来重新编写上面的代码,那么它就会正常工作了:
  #include
  int *pPointer;
  void SomeFunction()
  {
   // 使pPointer指向一个new的整数
   pPointer = new int;
*pPointer = 25;
  }
  void main()
  {
SomeFunction(); // 让pPointer指向某些东西
printf("Value of *pPointer: %d\n", *pPointer);
  }
  请通读并编译以上的示例代码,并确信你已经弄懂了它为何如此工作。当调用SomeFunction的时候,它分配了一段内存,并使pPointer指向这段内存。这一次当函数返回的时候,这段new的内存就会完好保留,所以pPointer仍然指向某些有用的内容。这就是动态分配了!请确信你已经搞懂了这一点,然后继续阅读关于这段代码中的一个严重错误。
  来得明白,去得明白
  还有一个复杂的因素,并且是十分严重的——虽然它很好补救。问题是你分配的内存在离开的时候虽然仍然完好,但是这段内存永远也不会自动销毁。这就是说,如果你不通知电脑结束使用的话,这段内存就会一直存在下去,这样做的结果就是内存的浪费。最终,系统就会因为内存耗尽而崩溃。所以,这是相当重要的一个问题。当你使用完内存之后,释放它的代码非常简单:
  delete pPointer;
  这一切就这么简单。不管怎样,在你传递一个有效的指针——亦即一个指向一段你已经分配好的内存指针,而不是那些老旧的垃圾内存——的时候,你都需要无比细心。尝试delete一段已经释放的内存是十分危险的,这可能会导致你的程序崩溃。
  好了,下面又是那个例子,这一次它就不会浪费内存了:
  #include
  int *pPointer;
  void SomeFunction()
  {
   // 使pPointer指向一个new的整数
   pPointer = new int;
   *pPointer = 25;
  }
  void main()
  {
   SomeFunction(); // 让pPointer指向某些东西
   printf("Value of *pPointer: %d\n", *pPointer);
   delete pPointer;
  }
  唯一的一行不同也就是最本质的一点。如果你不将内存delete掉,你的程序就会得到一个“内存泄漏”。如果出现了内存泄漏,那么除非你关闭应用程序,否则你将无法重新使用这段泄漏的内存。
  向函数传递指针
  向函数传递指针的技术非常有用,但是它很容易掌握(译注:这里存在必然的转折关系吗?呃,我看不出来,但是既然作者这么写了,我又无法找出一个合适的关联词,只好按字面翻译了)。如果我们要编写一段程序,在其中要把一个数增加5,我们可能会像这么写:
  #include
  void AddFive(int Number)
  {
   Number = Number + 5;
  }
  void main()
  {
   int nMyNumber = 18;
   printf("My original number is %d\n", nMyNumber);
   AddFive(nMyNumber);
printf("My new number is %d\n", nMyNumber);
  }
  可是,这段程序AddFive中的Number是传递到这个函数中的nMyNumber的一份拷贝,而不是nMyNumber本身。因此,“Number = Number + 5”这一行则是向这份拷贝加上了5,而main()中的原始变量并没有任何变化。你可以运行这个程序试着证明这一点。
  对于这个程序,我们可以向函数传递这个数字内存地址的指针。这样,我们就需要修改这个函数,使之能接收一个指向整数的指针。于是,我们可以添加一个星号,即把“void AddFive(int Number)”改为“void AddFive(int* Number)”。下面是这个修改过了的程序,注意到我们已经将nMyNumber的地址(而不是它本身)传递过去了吗?此处改动是添加了一个“&”符号,它读作(你应该回忆起来了)“the address of(……的地址)”。
  #include
  void AddFive(int* Number)
  {
   *Number = *Number + 5;
  }
  void main()
{
   int nMyNumber = 18;
   printf("My original number is %d\n", nMyNumber);
   AddFive(&nMyNumber);
   printf("My new number is %d\n", nMyNumber);
  }
  你可以试着自己编写一个程序来证明这一点。注意到AddFive函数中Number之前的“*”的重要性了吗?这就是告知编译器我们要在指针Number指向的数字上加5,而不是向指针本身加5。
  最后要注意的一点是,你亦可以在函数中返回指针,像下面这个样子:
  int * MyFunction();
  在这个例子中,MyFunction返回了一个指向整数的指针。
  指向类的指针
  关于指针,我还有还有两点需要提醒你。其中之一是指向结构或类的指针。你可以像这样定义一个类:
  class MyClass
  {
  public:
   int m_Number;
   char m_Character;
  };
  然后,你可以定义一个MyClass的变量:
  MyClass thing;
  你应该已经知道这些了,如果还没有的话,你需要阅读一下这方面的资料。你可以这样定义一个指向MyClass的指针:
  MyClass *thing;
  就像你期望的一样。然后,你可以为这个指针分配一些内存:
  thing = new MyClass;
  这就是问题之所在了——你将如何使用这个指针?呃,通常你会这么写:“thing.m_Number”,但是对于这个例子不行,因为thing并非一个MyClass,而是一个指向MyClass的指针,所以它本身并不包含一个名为“m_Number”的变量;它指向的结构才包含这个m_Number。因此,我们必须使用一种不同的转换方式。这就是将“.”(点)替换为一个“->”(横线和一个大于号)。请看下面这个例子:
  class MyClass
  {
  public:
int m_Number;
char m_Character;
  };
  void main()
  {
  MyClass *pPointer;
  pPointer = new MyClass;
  pPointer->m_Number = 10;
  pPointer->m_Character = 's';
  delete pPointer;
  }
  指向数组的指针
  你也可以使指针指向数组,如下:
  int *pArray;
  pArray = new int[6];
  这将创建一个指针pArray,它会指向一个6个元素的数组。另一种不使用动态分配的方法如下:
  int *pArray;
  int MyArray[6];
  pArray = &MyArray[0];
  请注意,你可以只写MyArray来代替&MyArray[0]。当然,这种方法只适用于数组,是C/C++语言的实现使然(译注:你也可以把函数名赋值给一个相应的函数指针)。通常出现的错误是写成了“pArray = &MyArray;”,这是不正确的。如果你这么写了,你会获得一个指向数组指针的指针(可能有些绕嘴吧?),这当然不是你想要的。
  使用指向数组的指针
  如果你有一个指向数组的指针,你将如何使用它?呃,假如说,你有一个指向整数数组的指针吧。这个指针最初将会指向数组的第一个值,看下面这个例子:
  #include
  void main()
  {
   int Array[3];
   Array[0] = 10;
   Array[1] = 20;
   Array[2] = 30;
   int *pArray;
   pArray = &Array[0];
   printf("pArray points to the value %d\n", *pArray);
   }
  要想使指针移到数组的下一个值,我们可以使用pArray++。我们也可以——当然你们有些人可能也猜到了——使用pArray + 2,这将使这个数组指针移动两个元素。要注意的一点是,你必须清楚数组的上界是多少(在本例中是3),因为在你使用指针的时候,编译器不能检查出来你是否已经移出了数组的末尾。所以,你可能很容易地使系统崩溃。下面仍然是这个例子,显示了我们所设置的三个值:
  #include
  void main()
  {
   int Array[3];
  Array[0] = 10;
  Array[1] = 20;
Array[2] = 30;
   int *pArray;
   pArray = &Array[0];
   printf("pArray points to the value %d\n", *pArray);
   pArray++;
   printf("pArray points to the value %d\n", *pArray);
   pArray++;
   printf("pArray points to the value %d\n", *pArray);
  }
  同样,你也可以减去值,所以pArray - 2就是pArray当前位置的前两个元素。不过,请确定你是在操作指针,而不是操作它指向的值。这种使用指针的操作在循环的时候非常有用,例如for或while循环。
  请注意,如果你有了一个指针(例如int* pNumberSet),你也可以把它看作一个数组。比如pNumberSet[0]相当于*pNumberSet,pNumberSet[1]相当于*(pNumberSet + 1)。
  关于数组,我还有最后一句警告。如果你用new为一个数组分配空间的话,就像下面这个样子:
  int *pArray;
  pArray = new int[6];
  那么必须这样释放它:
  delete[] pArray;
  请注意delete之后的[]。这告知编译器它正在删除一个整个的数组,而不是单独的一个项目。你必须在使用数组的时候使用这种方法,否则可能会获得一个内存泄漏。
  最后的话
  最后要注意的是:你不能delete掉那些没有用new分配的内存,像下面这个样子:
  void main()
  {
int number;
int *pNumber = number;
delete pNumber; // 错误:*pNumber不是用new分配的
  }
  常见问题及FAQ
  Q:为什么在使用new和delete的时候会得到“symbol undefined”错误?
  A:这很可能是由于你的源文件被编译器解释成了一个C文件,因为new和delete操作符是C++的新特性。通常的改正方法是使用.cpp作为你的源文件扩展名。
  Q:new和malloc的区别是什么?
  A:new是C++特有的关键词,并且是标准的分配内存方法(除了Windows程序的内存分配方法之外)。你绝不能在一个C C++程序中使用malloc,除非绝对必要。由于malloc并不是为C++面向对象的特色设计的,所以使用它为类对象分配内存就不会调用类的构造函数,这样就会出现问题。由于这些原因,本文并不对它们进行讨论,并且只要有可能,我亦会避免使用它们。
  Q:我能一并使用free和delete吗?
  A:你应该使用和分配内存相配套的方法来释放内存。例如,使用free来释放由malloc分配的内存,用delete来释放由new分配的内存。
  引用
  从某种角度上来说,引用已经超过了本文的范围。但是,既然很多读者问过我这方面的问题,那么我在此对其进行一个简要的讨论。引用和指针十分相似,在很多情况下用哪一个都可以。如果你能够回忆起来上文的内容——我提到的“&”读作“the address of(……的地址)”,在声明的时候例外。在声明的这种情况下,它应该读作“a reference to(……的引用)”,如下:
  int& Number = myOtherNumber;
  Number = 25;
  引用就像是myOtherNumber的指针一样,只不过它是自动解析地址的,所以它的行为就像是指针指向的实际值一样。与其等价的指针代码如下:
  int* pNumber = &myOtherNumber;
  *pNumber = 25;
  指针和引用的另一个不同就是你不能更换引用的内容,也就是说你在声明之后就不能更换引用指向的内容了。例如,下面的代码会输出20:
  int myFirstNumber = 25;
  int mySecondNumber = 20;
  int &myReference = myFirstNumber;
  myReference = mySecondNumber;
  printf("%d", myFristNumber);
  当在类中的时候,引用的值必须由构造函数设置,像下面这种方法一样:
  CMyClass::CMyClass(int &variable) : m_MyReferenceInCMyClass(variable)
  {
// 这里是构造代码
  }
  总结
  这一主题最初是十分难以掌握的,所以你最好读上它个至少两遍——因为大多数人不能立即弄懂。下面我再为你列出本文的重点:
  1、指针是一种指向内存中某个位置的变量,你可以通过在变量名前添加星号(*)来定义一个指针(也就是int *number)。
  2、你可以通过在变量名前添加“&”来获得它的内存地址(也就是pNumber = &my_number)。
  3、除了在声明中以外(例如int *number),星号应该读作“the memory location pointed to by(由……指向的内存位置)”。
  4、除了在声明中以外(例如int &number),“&”应该读作“the address of(……的地址)”。
  5、你可以使用“new”关键字来分配内存。
  6、指针必须和它所指向的变量类型相配套,所以int *number不应该指向一个MyClass。
  7、你可以向函数传递指针。
  8、你必须使用“delete”关键字来释放你分配的内存。
  9、你可以使用&array[0]来获得一个数组的指针。
  10、你必须使用delete[]来释放动态分配的数组,而不是简单的delete。
  这并非一个完全的指针指南,其中有一点我能够涉及到的其它细节,例如指针的指针;还有一些我一点也未涉及到的东西,例如函数指针——我认为作为初学者的文章,这个有些复杂了;还有一些很少使用的东西,在此我亦没有提到,省得让这些不实用的细节使大家感到混乱。
  就这样了!你可以试着运行本文中的程序,并自己编写一些示例来弄懂关于指针的问题吧。

刚发现,西安首份高考录取通知书昨日送达

抽空看了一下新闻,看到这个:昨日,由西安交通大学寄出的高考录取通知书抵达西安市邮政局含光路速递分局。这是我市今年收到的第一封高考录取通知书。上午11点,西安首封高考录取通知书送达西安考生薛彦博家。

时间可过的真快啊,马上高中毕业的同学们就会踏入大学的大门了!祝福他们!

永远的7月

月光下的城城下的灯灯下的人在等/
人群里的风风里的歌歌里的岁月声/
谁不知不觉叹息,叹那不知不觉年纪/
谁还倾听一叶知秋的美丽/

早晨你来过留下过弥漫过樱花香/
窗被打开过门开过人问我怎么说/
你曾唱一样月光,曾陪我为落叶悲伤/
曾在落满雪的窗前画我的模样/

那些飘满雪的冬天/
那个不带伞的少年/
那句被门挡住的誓言/
那串被雪覆盖的再见/

《变形金刚2》终破《泰坦尼克号》,本周末票房过4亿

截至7月8日,《变形金刚2》全国票房已经突破3.6亿,这也打破了《泰坦尼克号》保持了12年的票房纪录。有专家分析,该片将在7月11日突破4亿。



当年《泰坦尼克号》的3.6亿票房是放映了70多天的总成绩,而《变形金刚2》仅用了4天就破亿,放映第一周就以1.6亿的成绩跻身全球市场前5名,放映12天后,打破了由《泰坦尼克号》保持了12年的在国内放映的3.6亿票房的纪录。
##CONTINUE##


在该片上映的第二周,全国观影人群仅减少15%,票房仅回落17%。“影院人流几乎没有减少,其中九成以上的人还是看《变形金刚2》的”。院线负责人接受采访时对这个比率表示惊讶,按照目前的票房速度,《变形金刚2》将成为中国电影市场上第一部突破4亿票房的影片。



虽然《变形金刚2》上映后恶评如潮,但丝毫没有阻挡该片的夺金之路。星美院线的袁经理分析说:“首先是《变形金刚1》造成的巨大轰动效应以及 良好的口碑,为续集上映积攒了极高的期待值和人气,另外在同档期内很难有同规格的大片与之匹敌,许多影片都采取了避让的措施,所以这个时间段完全是《变形 金刚2》的,全国一线影院90%以上的影厅都放映这部电影,在这种情况下,《变形金刚2》想不火都难。”



当然影市在《变形金刚2》的带动下,也进入了最火爆的消费热潮期,本周3D电影《冰川时代3》周三上映,仅仅3天票房已经顺利突破1500 万,大大超越了去年国庆档的3D制作《地心历险记》。7月15日即将上映的《哈利波特与混血王子》将会再次掀起影院新一轮的票房高潮。

尝鲜:Windows 7 RTM X64 安装组图

1.版本界面













##CONTINUE##




2.安装版本标识:














3.Internet Explorer 8版本标识

2009年7月13日星期一

用gmail写blogger


Google blogger无法访问以来一直使用gmail来写博客,推荐大家也使用gmail来写,除了不能添加标签以外,其他的基本都能完成。
详细设置如下
选择”设置“-”电子邮件和移动博客“
按下图所示选择

保存设置后,记下那个XX.XX@blogger.com邮箱地址,你以后只要通过邮箱发信到这个邮箱就自动会将你发的信件以博文的形式发表,信件的主题就是博文 标题,内容也就是内容。
邮箱还是推荐用gmail,google自家的服务。那个邮箱千万别告诉别人!否则你的博客就成了人家乱发广告的地方了。

Windows 7 RTM X64种子已出现

微软说Windows 7 RTM今天发布还真准确啊,先是Windows 7 RTM x64泄漏,速度还真快啊!相信Windows 7 RTM X86的种子也会在不久就会泄漏的!
种子名为: 7600.16384.090710-1945_x64fre_client_en-us_Retail_Ultimate-GRMCULXFRER_EN_DVD.iso
各版本hash值参考:
##CONTINUE##
x86 zh-cn
2,604,361,728
7600.16384.090710-1945_x86fre_client_zh-cn_Retail_Ultimate-GRMCULFRER_CN_DVD.iso
SHA1 E43BC56AE77A4AB4006A93BB392B150D8A73CCF8

x64 zh-cn
3,341,467,648
7600.16384.090710-1945_x64fre_client_zh-cn_Retail_Ultimate-GRMCULXFRER_CN_DVD.iso
SHA1 A5D467B9B5244C53FEA7B7BED7550AB35F34AB4E

x86 en-us
2,501,750,784
7600.16384.090710-1945_x86fre_client_en-us_Retail_Ultimate-GRMCULFRER_EN_DVD.iso
SHA1 66588F282A88D71A4A1E11BE7C093F02FBFFDDF9

x64 en-us
3,224,717,312
7600.16384.090710-1945_x64fre_client_en-us_Retail_Ultimate-GRMCULXFRER_EN_DVD.iso
SHA1 31849B315290EFABFD81F967ED3C553D82925E4C

Windows 7 RTM版本号确定为7600 64位已泄露

Windows 7 RTM版泄漏的真快啊,等着32位的出现啊,让我来测试一下,感受新版本的魅力!
7月13日消息,据国外媒体报道,Windows 7 RTM版本号已基本确定为7600,目前该版本的64位Windows 7 RTM已经在互联网上泄露。
##CONTINUE##
目前,版本号为“Windows 7. 7.7600.16384.090710-1945”的64位系统已经在互联网上泄露,build 7600是最新的Windows 7版本,并有可能成为最终的RTM版本号。
在美国时间本周一召开的全球合作伙伴大会上,预计微软将宣布该消息。如果属实,build 7600意味着Windows 7已经彻底告别测试版。
今年1月,微软发布了Windows 7 Beta,版本号为build 7000。5月又发布了Windows 7 RC,版本号为build 7100。在此之前,业内一直认为Windows 7 RTM版本号将为build 7300。