[转]C语言内存分配问题

C语言内存分配问题

http://www.diybl.com/course/3_program/c/c_js/2008611/124628.html

1、C中内存分为四个区

  1. 栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。
  2. 堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。
  3. 全局局:用来存放全局变量和静态变量。存在于程序的整个运行期间,是由编译器分配和释放的。
  4. 文字常量区:例如char *c = “123456”;则”123456”为文字常量,存放于文字常量区。也由编译器控制分配和释放。
  5. 程序代码区:用来存放程序的二进制代码。

例子(一)

int a = 0; //全局区

void main()

{

int b; //栈

char s[] = abc; //s在栈,abc在文字常量区

char *p1,*p2; //栈

char *p3 = “123456”; //123456在常量区,p3在栈上

static int c =0;

中秋节就要到了

再过几天就到中秋节了,第一次法定节假日,就让我给赶上了。也是工作之后的第一个中秋节了。

本来想天天写一点blog的,但现在过了几天了也没写,真是懒啊。

写点上次周末的事吧。

上周五,晚上去了刘那里,好长时间没去了,记得上次是和宋虎去拿被子,大概是一个半月前了,嗯,时间过得太快了,转眼上班就两个月了(7月7日–)。

去那里是因为黑人陈超(他大概看不到吧)去了,他由于工作不爽,辞职重新开始找工作了,现在是名副其实的无业游民了。希望他能够早点找到合适的工作:)

去那里有一个好处,就是可以CEN饭吃,呵呵–自己做饭。虽然我没做过饭,但想自己做饭还真是很麻烦的,先要去买菜,然后要洗菜,切菜,再就是炒菜了。自己以前在家里也做过菜,但仅限于把菜做熟,当然,在这里还轮不到我做菜,只能做个副手了,洗洗菜,切切菜,已经挺好了。感觉自己做饭虽然烦是烦了点,但有一种家的感觉,必须一直是吃食堂的,在学校是,在公司也是,周末就除外了,但也不是自己做饭—是点菜。

要做好一顿饭,我感觉是一个比较大的工程,尽管只有几个菜。中午他们来了两个同事,刚好就是8个人了,一桌。菜做好了,大家坐在一起吃饭,好长时间没有这种感觉了。 尽管平时我们也有7个人在一起吃饭,但那不是自己做饭吃的。平时如果能够多一点这样的机会,也是非常好的。

周六哪都没去,就在那里上网,看电视,然后睡觉–猪一样的生活。

周日,下午由于黑人要去买上海的票–去面试,由于某些原因,一直到下午四点多才出发。我和小军先去观前街,他们两个去火车站。顺便买双鞋子。观前街好不热闹,人好多,一直都是。还有历史遗留的人力车夫。

沿着街走,看到有打折的就进去看看,很不凑巧,看到addidas在打折,进去一看,鞋子没打折,只有衣服才打折,标称3折起。 鞋子太贵了,都是品牌惹得祸,搞得这么贵,我对品牌不感冒,只要能穿就行了。不像很多人,一定要买名牌,然后花那么多钱,如果是自己挣得也没什么,问题是不是自己挣的。钱都这样花掉了,被外国人挣去了,有时我就是有点狭隘的民族主义观点。其实很多国产品牌衣服不一定就比洋货差,很多时候可能还要更好。先后去了安踏,李宁。都不错的品牌。

以前买的比较多的是安踏,不算太贵,也不太便宜,中等吧。但这个价格也是疯涨,从80多一直涨到了200。 现在还在涨。挑来挑去,终于买了一双,我很讨厌去衣服鞋子之类的,很容易受旁人观点左右,有时自己觉得好看,但别人都觉得不行,鞋子是自己穿的,但很多时候都是给别人看的,像我们这种人,很少有个会注意的,加到这里未免有些牵强。考虑到,以后可能会去跑步,于是最终选择了一个网状的,跑步鞋,比较轻。白色的,花掉了270大洋,心疼啊。还好,在自己可以容忍的范围之内(300以下)。小军,也买了一双,但是贵点,篮球鞋。看起来比较爽。

中秋小东和邵董都会来苏州,到时候我就哪都不要去了,就呆在苏州吧,应该会比较热闹的,我们宿舍四个人都到齐了,还有黑人,有点像在学校的感觉。今天周二,还有三天了, 周五晚上公司还有中秋晚会,周四BENQ那边有个晚会,看情况吧,但想到有一个烧烤晚会,呵呵。。。。到时看看宋虎吧。

又记了一堆流水涨。…

无意中看到autounmask BUG解决方法了

在http://forums.gentoo.org看到了张乐的将blog加入到planet的贴子,然后就点开那个planet随便浏览了一下,就看到了autounmask 的解决方法

BUG在这里

只要将my $arch = $pxs->getArch();
改为my $arch = ‘~x86’;
就行了。
最近linuxsir一直被和谐了,有传言说有人在上面发买卖军火的帖子,不知真假。
那上面有很多总结很好的帖子,现在上不去都不知道去哪里找寻问题答案了,英文的GENTOO官方,我这里上去很慢,点开一个网页还要等半天,什么时候也能够有一个独立的GETNOO-CN中文论坛?
r0bertz一直很努力,希望不久的将来就能有了。
牛人比较强大,在很多地方都有老巢:
Zhang Le, Robert
http://www.gentoo-cn.org
http://r0bertz.blogspot.com
http://zhllg.spaces.live.com…

今天去打球了

这个星期感觉一直很忙,天天在看代码,而且效率低下。每天下午一到五点就什么都不想做了,总想着早点离开办公室。但看到大家都在那里忙碌,总感觉不太好意思,于是就假装坐在哪里,上上网,浏览浏览网页。时间也就很快地过去了。但还有一件事是必须做了,那就是daily report,为了省时间,我问题将上次的COPY过来,然后随便改改,总感觉没什么写了,但作为一件任务,就算是编也要写一点。今天下午本来要做 presentation的,但由于投影仪没有预约好,只能做罢,推迟到明天上午了–“真是浪费感情”(by Heidi),明天上午,10点到12点要去听一个GM做的报告,再加上将presentation推迟到上午8:30-9:30了,明天上午应该很快就过去了,想想又星期四了,再过星期五,yeah,又到周末了。

好几天没去体育馆了,都是代码惹的祸,大家都在忙着看代码,也就没人想着去打球了。今天终于有人起头说去打羽毛球了,呵呵,既然有机会当然要去玩玩了,好几天没怎么出汗了。去体育馆爽爽。7点到宿舍换了衣服,就直奔体育馆了。在公司有一个奇怪的现象,打羽毛球的人超多,但打篮球的人确实少得可怜,一般情况下,篮球都有空场,但羽毛球场基本上场场爆满了,而且很多时候都是双打的,所以这个时候去,是很难占到羽毛球场地的。有备无患–再带了,篮球,乒乓球。果然,打羽毛球的人超多,还好,乒乓球场地比较空,小毛很快就找到我了,和我一起打乒乓球,由于水平比较菜(毕竟到公司才开始练嘛),他们只要随便和我玩玩就行了,一直没学会抽球,打球没有什么力度。什么时候可以学会抽球啊:)

由于没占到羽毛球场地 ,所以大家也都往乒乓球这里打算盘了。包子很快就跑过来了,竟然要把我赶走,这怎么可能,呵呵,只好把到赶到小毛那里了。哈哈,他们两个一起打我,爽。他们两个总是很急,总是想接我发的球,我只好,轮流给他们发球了。所以搞得我很累。但是打的还是比较爽了,手上居然起了一个水泡。

好,今天就写到这里吧,但估计没有人能看到,遗憾啊,又不想写到像校内那种比较生活化的地方。没关系,就当是练打字了,说不定以后过来看看还是会很有感触的。…

上校内看同学

今天一天又是在跟踪代码,不停的设置断点,相当无趣,而且效率低下.

晚上早早的就去吃了饭,看到小毛又在捣鼓校内网,就跟他说,过伙将他加为好友.

也许是最近真的很无聊加空虚,一上校内就看好友的事情,大多是高中同学的,然后按那个新鲜事,挨着查看,各位好友.

真的是时间太快了,从高中到大学,加起来也有8年了,算起来也是一段比较长的时间了,但就是度过的这么快,都来不急慢慢品味,现在已然是工作一族了.说到工作,我在高中同学里应该是第一批工作的了.高中同学当时70多个人有差不多40个补习了,那些补习的后来高考都不错,现在算起来也到大四了.和我一届的,很多人要么考研,要么保研,真的去找工作的应该是不多了,我知道的, 也就10个左右,大多数人还要在大学度过一年或者是3年/4年的.作为第一批出来工作的,感觉还是很奇怪的.

还好,大学同学大多数都出来工作了,平时聊聊天,也就不是那么单调了.

以前总感觉上校内是低级趣味,无聊的人才会去的,尽管我加入的很早,记得当时加入校内的时候,校区一共也就二三十个人,现在再去看看规模…

[转]开源是否应该由政府推动

这篇文单写得很有道理:中国什么时候能够大力推动开源事业?

在提到开源之前,我想先说说OOXML,Wimax,Wifi这类的东西。这几个名词我想很多稍稍了解一点IT的人都耳熟能详,和其相对的几个国产的标准:UOF,TD-SCDMA,WAPI。

  所有这些最终能成为国际标准的标准,都有政府的干预在其中。也许很多人都觉得政府不应该干预产业标准,应该让企业自身竞争去推进,每当我国政府对国有标准的支持都成为他们指责的口实,不仅洋人这样,总有一部分国人也觉得这样要求自己的政府是合理的。

  上面提到的几个标准,不知那些国人是否能看到美国是怎样强力干预的,或者在他们眼中,就是觉得他们的干 预就是合理的。WAPI,也许都快被人遗忘了,国有的无线接入标准,几年前,国家准备强力在国内推行的时候,也许考虑到举办奥运要 有好的国际环境等等因 素,我们不得不妥协于别人的要挟,无限期的推迟实施的时间;Wimax也是这样,美国政府的操控而赶上3G的末班车;OOXML,微软公司够强大,但也没 有能力左右ISO成员国的意志,我不知道背后有多少他们政府的威逼利诱使很多的小国最后改变初衷使其在后轮投票中通过。

  所有这些都涉及到国家利益,都能看到政府在其中干预,我想这也无可厚非,美国可以这样,我们同样可以,太长时间了,别人可以做的事,却要求不许我们做,竟然被很多人看成是合理,包括有些奴才。

  WAPI和WIFI,他们俩谁更好也许每个人看法不一样,而且很多国内的企业,特别是一些垄断企业早就 不是以谁好来评断,在他们眼里,早就因为洋人和国人造的有了分别,即使是一些企业,地方政府的采购,招标都指明要洋货,好与坏,在很多人眼里就已经有了评 断的标准。我们自己的民族企业就是在这样的环境中发展,不只别人,我们自己都偏见的情况下,逆境中生存,不断地壮大,不断地有一个又一个高科技产业,华 为,中兴,神舟,海信等等……

  即使是别人的标准,产业链的延伸,我们自己的企业也都可以做了,现在再也不是我们采购只能用洋人的东西 了。再提到我们自己创造的标准,也不是很多人指责的那样狭隘的民族主义,标准创造者也不能利用人民的这种心理去鼓动,我们大多数也慢慢的变得更理性,不再 接受这些蛊惑,提出来只是希望我们不再是唯洋人的就好,能够更加理性的看待国有的标准,去分析,能以真正的好坏的原则去实施,在同等条件下,能够优先选择 我们自己的标准。

  关于这几个标准,根据我所了解的说说自己的看法。

  OOXML,微软搞出来的,微软office的强大,现在的所有字处理软件还比不上,他把原来doc的 二进制文件翻译成文本的OOXML文件,自然好,不过涉及到的功能太多,虽然开放了一些规则,可是还有很多自己的特性没开放。虽然现在成了标准,但别人不 能处理,实际上就形成了垄断,不知道是否有相关的法律去管这样的事。我们的UOF,以及国际的ODF,虽然没有OOXML包容的特性那么广泛,但是可以根 据流行的一些字处理软件的处理能力慢慢的不断扩充,标准开放后,后继的演进就不该是一家公司主导了,虽然他们的意见比较重要,还是应该以整个产业链的发展 为主导,这就成了个悖论,从无到有总要从一个人或一个公司搞出来,搞出来后大家都用得很好的话,就不能归他管了,从USB的发展也许能感觉到,虽然由 intel弄出来,不过现在usb3.0,intel还想由自己定的话,AMD,NV就不干了,这本就说明如果要开放成大家都要靠拢的标准,发明者本身就 负有社会责任,不能再靠自己的意愿左右。

  TD-SCDMA,我们自己的3G标准,和WCDMA,CDMA2000相比无所谓优劣,同等条件下自然要优先,特别是国际中的劣势,政府干预的发展很有必要。我们的联系殊途同归,几个标准形成竞争能更好的促进技术发展,对我们自己的企业和产业链都有好处。

  WAPI,我们自己的无线局域网标准。无线网络的出现让我们更加方便的接入互联网,特别是对于移动,或 者布线不方便的情况。WIFI虽然让我们可以更加方便,但安全缺陷限制了应用的延伸。WAPI很好的解决了这个问题,普通的应用可以类似WIFI,很多需 要网络安全的应用也都可以,高级应用的收费也比较容易,这种高级应用WIFI想做而技术做不到的标准,真奇怪就这样慢慢的成了边缘。不过我想授权的范围更 广一些,不只我们自己的国家,对于其他国家的公司也有个没有损失国o家a 安全的授权机制,我想对国际的网络部署,需要安全的高端应用都有好处,而且不至于被人 排挤成不了国际标准。不知道如果不布置后端服务器的验证的话,能不能做到像WIFI那样方便的接入,普通应用像WIFI那样方便的话,我想开发商部署网络 的时候,考虑到涉及安全的高端应用,自然会选择 WAPI,不过现在既然有别的干预,我们的政府强力的干预非常合理。我们被人要挟,左右我们决策的时候已经过去了。

  提到开源,让我们看一看我们IT产业的现状。

  奥运会的成功举办,奖牌的历史性突破,国人振奋,也许远来的客人也不再随他们媒体的左右,改变了对中国的看法。我们沉浸在举国欢腾,振奋于国家恢宏的历史和当代的繁荣,可是我们面对自己落后的地方,依然要清醒,很多并不像表面看上去那么让人高兴,相反却很让人气馁。

  我们虽然有联想,可是依然只是用着别人的芯,虽然享誉全球,可惜没有引领行业的核心技术,仅仅是靠产品 赚取利润,和那些让国人花更少的钱享受高科技产品的公司相比,同样的产品国内外差价那么悬殊,他在国人心目中的高贵,让他赚取高贵的利润,这只是让微

感叹,工作效率太低了

   一天下来,感觉什么都没做.

看看代码,然后不停的F10.如此反复,是个人,都会觉得单调乏味的.

时间都这样耗掉了.

又回顾了下”清华主页被黑”的帖子,没想到这么牛X的学校主页也会被黑,里面的内容感觉很多还是有切实际的,就是那个标题足以把人呛死.

图片在这里

原文如下:

************************************************************************

昨天下午,清华大学校长顾秉林先生在接受学生记者采访的时候,表达了他对现在大学教育状况的担心,他表示,说得直白一点,现行的大学教育制度就是“在往学生们的脑子里灌屎”。
顾秉林校长表示,在二十世纪初至40年代,可以说是中国教育界的黄金时期,在这段时间以内中国的大学为社会培养出了大批的优秀人才,他们中有伟大的思想 家、教育家,有革命义士、抗日英雄,有科学骨干、民族精英。而这种盛况自从解放后尤其是九十年代开始衰落。现在的各高校,包括清华与北大在内,已经没有将 培养人才作为大学教育的目标。严重的学术腐败,枯燥且与社会脱节的课程,死记硬背的教育方式,将导致学生们的思想僵化,对课程失去兴趣,对大学乃至整个中 国的教育失去信心,退学正是表达他们对大学教育失望的最极端方式。
他进一步表示,至少有80%的学生在刚进入大学的时候是酬躇满志,报着努力学习的决心的,可是在四年大学生涯的消磨与侵蚀下,能将这一决心坚持到毕业的学 生恐怕不到20%。逃课,考试作弊已经被很多学生当成了家常便饭。上大学的目的由最初的学习知识变成了纯粹的混文凭。而那些在恶劣的环境下坚持认真学习的 学生,他们的学习能力和创新能力却正在被逐渐磨灭。若这种情况持续下去,大学最终培养出来的成品,将是一具具没有灵魂的行尸走肉。
“如果一直这样下去,20年后,中国大学生的思想状态和精神水平将会是什么样子?我简直不敢想象!”
古板的教学方式和教材让社会丢失了许多的达芬奇,比尔盖茨。对于这样损失,我们是否要反省下呢?在这样的教育模式之下,学生们的精神受到极大的伤害,创造性和独立思考能力受到无可挽回的扼杀,中国至今没有诺贝尔奖获得者,与这种教育模式有很大的关系。
以下是顾秉林先生的原话:
作为一个大学校长,我认为真正的高校应该培养学生的独立技能、独特的思考方式和敢于权威挑战的精神。
1、什么是独立的技能?
不是拘泥于课本上的,如果你对某东西有深入研究,可以考虑研究成果作为成绩。我们要鼓励和发扬这样的模式,因为市场和学生需要这样的鼓励!
2、什么是独特的思考方式?
独特的思考方式不代表爆炸式的思考,而是多种寻根问底的思想,抓住一条线一直往前摸,有这样的科学精神,这条线一定能通往诺贝尔。独特的思考方式是在不断 学习的过程中产生的,学生得注意研究的方式、研究的目的以及合理性。当然,诺贝尔奖不应该成为教育的最终目标,教育的最终目标是为社会培养以及输送人才, 但是这毕竟是国际上对最顶尖人才认可的标志。
3、什么是敢于挑战权威?
这个相信学生们都了解,羽毛和石头哪个能先着地?
这个是众人皆知的,为什么那个时候全世界只有1个人提出了不相同的结论并用事实证明了?原因就是权威的威慑。教授:这个名词是一个长辈的名词,我不介意别 人叫我同学,叫我兄弟,或者学生。因为弟子不必不如师,师不必贤于弟子,闻道有先后,术业有专攻。你研究的成果比老是的好,你就是老师,我可以为一个同学 “无聊”的问题而停下上课,动员大家参与这个问题的讨论,原因为什么?这个问题的隔壁很可能就是诺贝尔奖……

当然,以上的能力,在中国现行的教育体制下,是不可能被赋予学生的。所以顾秉林先生表示,中国的高等教育体制改革势在必行,“应该停止再扼杀人才了!应该 停止再向学生们的脑子里灌屎了!”当然,改革会涉及很多未知的因素,以及牵扯很多人的利益,势必受到极大的阻力,可是为了学生以及中国的未来着想,这些阻 力都必须被克服。

(http://news.tsinghua.edu.cn)
[更新:2008-08-24]
[阅读:884人次]…

今天玩了一下那几个小型linux

下了ISO,用虚拟机启动没问题。

就想用U盘来启动它,搜了下发现UltraISO 9.2可以直接制作USB-HDD+,照着操作了,发现启动不了,不知为什么,我的主板是支持USB启动的。

于是就想直接用GRUB来引导,

1.安装GRUB到U盘

将/boot/grub 拷贝到U盘根目录下

cp /boot/grub /media/disk/

然后安装GRUB:

grub> root (hd1,0) //hd1就是U盘了
Filesystem type is fat, partition type 0xb

grub> setup (hd1)

装好后,将那个ISO里的文拷贝到U盘根目录下。

mount -o loop N1linux.iso /media/disk/

然后重启选择从USB启动。

但发现有两个地方有问题

1 .将/media/disk/grub/fanx.lst里的:find –set-root /slax/boot/vmlinuz注销后,OK,要不然会提示找不到文件

2. 要将/media/disk/grub/dsl.lst里的KNOPPIX全部改为小写:用vim:1,$ s/KNOPPIX/knoppix/g…

让Gentoo启动时自动读取声音设置

之前开机之后都要用alsamixer来调整声音大小,记得以前是可以自动保存声音设置的,但一直没弄,今天搜了一下终于找到了。
原来那个安装手册里就有的。

ALSA启动脚本

我们几乎完成了所有的配置。无论您采用何种方法来安装ALSA,您都需要在系统启动的时候,加载模块,初始化ALSA,恢复您的音量设定。ALSA启动脚本可以为您处理所有的这一切,它就是alsasound。 我们将它加入到启动运行级。

代码 3.3: 将ALSA加入到启动运行级

# rc-update add alsasound boot
 * alsasound added to runlevel boot
 * rc-update complete.

下一步,检查/etc/conf.d/alsasound文件,确保SAVE_ON_STOP变量设置为yes。这将在您关闭系统时保存您的声音设置。…