蜗牛的壳

蜗牛的壳

我行依我素 | 苦苦咸咸就是我 | Snailium的个人网站

浏览模式: 标准 | 列表
全部文章

浅谈C语言中的 malloc() 和 free()


在网上看到了一篇不错的文章,转来收藏。原帖地址:http://bbs.bccn.net/viewthread.php?tid=82212

在 C 语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对 C 中的 malloc() 和 free() 两个函数的了解甚少,只知道大概该怎么用——就是 malloc() 然后 free() 就一切 OK 了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!

如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较全面地谈了一下 malloc() 和 free()。这篇文章由浅入深(不见得有多深)分三个部分介绍主要内容。

Overlord 手办:黄红蓝绿,夹道恭迎霸王!


终于攒齐了黄红绿蓝四个手办。这还要感谢 EB Games 店员免费赠送了两个,加上预订赠送的一个,后来没办法又去 Ebay 买了一个。

废话少说,上图!

大小: 842.1 K 尺寸: 400 x 225 浏览: 0 次点击打开新窗口浏览全图

大小: 877.39 K 尺寸: 400 x 225 浏览: 0 次点击打开新窗口浏览全图

大小: 833.98 K 尺寸: 400 x 225 浏览: 1 次点击打开新窗口浏览全图

大小: 905.63 K 尺寸: 400 x 225 浏览: 0 次点击打开新窗口浏览全图

Linux 下检查 PID 是否存在


刚从网上学习的,记下来。

Linux 下检查 PID 是否存在,最快的方法就是用 kill 命令。

  1. kill -0 pid

对于信号“0”的解释:exit code indicates if a signal may be sent

相应地,在 C 语言里就是

  1. kill (pid, 0)

参考资料:
1. Unix man pages: kill()
2. Fast way to determine if a PID exists on (Windows)?

 

继续拆——Netcore 605GR Wireless Router


搬家了,原来的房客留了一个破得不能再破的无线路由器。反正闲来无用,拆!

大小: 760.63 K 尺寸: 400 x 225 浏览: 14 次点击打开新窗口浏览全图

终于把路由器给分解了,研究了一下电路元件:

  • Marvell 88W8510-BAN SoC(ARM ARM946id(wb) rev 1 (v4l) @ 160MHz)[参考资料]
  • Marvell 88E6060-RCJ 6-Port Ethernet Switch [官方资料]
  • KH 29LV400CTBC-70 4M-bit Flash Memory [Datasheet]
  • ISSI IS42S16100C1 16M-bit DRAM x 2 [Datasheet]

大小: 634.97 K 尺寸: 400 x 225 浏览: 17 次点击打开新窗口浏览全图

看网上说 Netcore 605GR 可以做 Ethernet Bridge,回头再试一下。

Xbox360 购机一年,成本粗算


硬件

项目 价格 备注
Xbox 360 Elite Console $449.99 Bestbuy Kanata
HD-DVD 光驱 $49.99 Zellers Bayshore
附加手柄 $50.99 Futureshop Nepean
手柄充电套装 $25.49 Futureshop Nepean
小计(+13% Tax) $651.40  

Xbox LIVE 年卡 + 点卡

项目 价格 备注
Xbox Live 12+1 Gold Subscription $59.99 Bestbuy Nepean (Fable II)
Xbox Live 1400 Points Card $18.99 Amazon.ca
Xbox Live 2800 Points Card $37.99 Amazon.ca
小计(+13% Tax) $132.18  

注:年卡到2010年1月底结束;账户里还剩 140 MS Points。

Xbox LIVE Marketplace 消费

项目 价格 备注
Fable 2: Knothole Island MS 800  
Fable 2: See the Future MS 560  
GTA IV: The Lost and Damned MS 1600  
DDR Universe: Download Song x 7 MS 700  
Ace Combat 6: 天海春香 F-22 MS 400  
总计 MS 4060  

注:“Xbox LIVE Marketplace 消费”已包括在“点卡花费”中。

网购游戏

项目 价格 备注
Xbox 360 PopCap Arcade Vol.1 $13.80 Ebay (Incl. shipping)
Nighty-Nine Nights (N3) $22.02 Ebay (Incl. shipping)
小计 $35.82  

游戏

项目 价格 备注
Alone in the Dark $0.00 购机附赠
GTA IV: Special Edition $59.99 Bestbuy Toronto
DDR: Universe $26.99 Futureshop Nepean
DDR: Universe 2 Bundle $62.99 Futureshop Nepean
DDR: Universe 3 Bundle $39.99 HMV Bayshore
Ace Combat 6 $53.99 Futureshop Nepean
Bully: Scholarship Ed. $19.99 Futureshop Southkeys
Fable 2: Collector's Edition $69.99 Futureshop Southkeys
Fable 2: Pub Game $0 Lionhead 免费赠送
Sacred 2: Fallen Angels $59.99 EB Games
Raiden Fighters Aces 雷电 $19.99 EB Games
天诛 Z $4.99 EB Games (Used)
Over G Fighters $4.99 EB Games (Used)
Overlord $24.99 EB Games (Used)
Overlord 2 $59.99 EB Games
Metal of Honor: Airborne $14.99 EB Games (Used)
Die or Alive 4 $17.99 EB Games (Used)
NFS: Prostreet $18.99 Costco
Golden Axe: Beast Rider 战斧 $18.99 Costco
小计(+13% Tax) $655.21  

周边设备

项目 价格 备注
Pioneer HIP-490 家庭影院 $399.99 Costco
Acer X263W 显示器(25.5") $379.99 Costco
小计(+13% Tax) $881.38  

总计

仅游戏花费:$651.40 + $132.18 + $35.82 + $655.21 = $1474.61

加周边设备:$1474.61 + $881.38 = $2355.99

注:所有金额都以 CAD 为单位

Xbox360 购机周年纪念


一切的起源,应该归咎于 PS2 和 Namco。

刚开始想玩 PS2 的时候,街头小巷男女老少都在玩经久不衰的《实况足球》。正好看到有位仁兄在卖 PS2,附赠三个游戏——《实况足球 7》、《皇牌空战 5》和《源氏物语》。二话不说,直接买下来。

回家《实况》两场之后,发现实在没手感。顺手抄起《皇牌空战 5》,一口气玩了五关之后,才发现自己已经沉迷了。后来竟然还在没有记忆卡的情况下,把前五关通了好几遍。

扯远了,回来继续说 Xbox 360。《皇牌空战 5》之后,又通了《皇牌空战 零》。等 6 代上市之后,发现竟然不是 PS2 平台游戏。在思考了半年之后,狠下心买了一台 Xbox 360。

购机之前,一直在担心著名的三红问题。在网上研究了半个月,最后决定买精英版,主要原因是单 65ns 三红几率低,次要原因是 120GB 硬盘。

另外一个犹豫了很久的问题,就是玩正版还是玩盗版。玩正版花费大,但是有售后服务;玩盗版几乎不用花钱,但是被 ban 之后无法上网联机,而且三红也无法保修。思考再三,决定第一年玩正版,是否改机等一年之后再说。

从那之后,我就踏上了 Xbox 360 这条不归路。

第一批入手的游戏,不用说,肯定是《皇牌空战 6》。另外为了不让老婆受冷落,还买了一套跳舞毯。之后又从网上订购了《九十九夜》和《PopCap 小游戏合集》。我的 Xbox 360 生涯就这样平平淡淡地开始了。

毋庸置疑,第一个让我心潮澎湃的游戏是《皇牌空战 6》,但是第一个打动我的游戏确是《Fable II》。而且,《Fable II》是我迄今为止花费最大的一款游戏。

Xbox 360 生涯的转折点,在 2008 年秋季更新。因为加入了硬盘安装功能,开始考虑买二手游戏。之后,EB Games 就成我常驻之地,每一次逛街都要去里面转一圈。于是才有 $4.99 的《天诛 Z》和《Over G》。

2008 年底,终于扛不住单机的寂寞,去买了一张年卡,开始 LIVE 生涯。《Fable II》、《皇牌空战 6》,上网合作、对战,不亦乐乎。

值得一提的是,Xbox 360 的成就系统害死人啊。每当一款游戏在通关之后,发现只解了一半的成就,就会恋恋不舍地再通关 n 遍,就为了多解一些成就。于是,我也成了成就犯大军中的一员。经常为了解一个成就连续奋战两三天。

购机一年了,回头看看玩过的游戏,既有《GTA IV》、《圣域 2》之类的大作,也有《雷电》、《Bully》之类的小品,还有《Alone in the Dark》、《战斧》之类的雷作。看着快 13000 成就分,4+2 款全成就游戏,17 款已通关游戏,一年的 Xbox 360 生涯也算充实。

嗯,决定了,以后继续玩正版。

大小: 985.03 K 尺寸: 400 x 225 浏览: 2 次点击打开新窗口浏览全图

拼了!蓝色蒲公英 2009年宣传片 出炉!


终于做完了!耗时一个半星期,时长2分30秒宣传片终于做完啦!

这个宣传片可谓是耗时耗力,两个小时做10秒钟,然后遇到 Premiere 崩溃还要把没保存的部分重新制作。

最后,视频终于上线啦!终于可以好好睡一觉啦!

点击链接观看视频:http://www.blue-dv.net/movies/blue-dv-teaser-2009.html

最简单的全成就 XBLA——《Dash of Destruction》


如果说最简单的全成就游戏是《降世神通》,那么最简单的 XBLA 非《Dash of Destruction》莫属。

《Dash of Destruction》可以看成是类似“警察抓小偷”的游戏。游戏中只有两种角色选择——恐龙和汽车。恐龙的目的是吃掉汽车,而汽车的目的是躲开恐龙给指定的地区送货。

这款游戏解成就非常痛快,玩过第一关就有三个成就跳出来。两种角色都通关就有 190/200 分。再加上赢一场本地多人游戏,半小时之内达成全成就。

这款游戏还有另外一个好处——免费下载。不用任何点数,只需要连线到 Xbox LIVE 即可下载完全版。成就犯不可多得的成就游戏之一!

你的硬盘真的坏了么?


偶然在网上找到的文章,虽然原贴说这篇文章已经有悠久的历史,但是鉴于我从来没看过,还是转一下。


我是一块硬盘,在一个普普通通的台式机里工作。

别人总认为我们是高科技白领,工作又干净又体面,似乎风光得很。也许他们是因为看到洁白漂亮的机箱才有这样的错觉吧。其实像我们这样的小台式机,工作环境狭迫,里面的灰尘吓得死人。每天生活死水一潭,工作机械重复。跑跑文字处理看看电影还凑活,真要遇到什么大软件和游戏,上上下下就要忙得团团转,最后还常常要死机。

我们这一行技术变化快,差不多每过两三年就要升级换代,所以人人都很有压力而且没有安全感。每个新板卡来的时候都神采飞扬踌躇满志,几年光阴一过,就变得灰头土脸意志消沉。机箱里的人都很羡慕能去别的机器工作。特别是去那些笔记本,经常可以出差飞来飞去,住五星级的酒店,还不用干重活,运行运行word,上网聊聊天就行了。

但我更喜欢去那些大服务器,在特别干净明亮的机房里工作。虽然工作时间长点,但是福利好,24小时有不断电UPS,而且还有阵列,热插拔,几个人做一个人的事情,多轻松啊。而且也很有面子,只运行关键应用,不像我们这里,什么乱七八糟的事情都要做。不过我知道,那些硬盘都很厉害,不是SCSI,就是 SCSI II,Fibre Channel,像我这样IDE的,能混到工作站就算很不错了。

我常常想,当年在工厂里,如果我努力一下会不会也成了一个SCSI?或者至少做一个笔记本硬盘。但我又会想,也许这些都是命运,不过我从不抱怨。内存就常常抱怨,抱怨他们主板部门的复杂,抱怨他如何跟新来的杂牌内存不兼容,网卡和电视卡又是如何的冲突。

我的朋友不多,内存算一个。他很瘦而我很胖,他动作很快,而我总是很慢。我们是一起来这台机器的,他总是不停地说,而我只是听,我从来不说。

内存的头脑很简单,虽然英文名字叫Memory,可是他什么memory都不会有,天大的事睡一觉就能忘个精光。我不说,但我会记得所有的细节。他说我这样忧郁的人不适合作技术活,迟早要精神分裂。我笑笑,因为我相信自己的容量。

有时候我也很喜欢这份工作,简单,既不用像显示器那样一天到晚被老板盯着,也不用像光驱那样对付外面的光碟。只要和文件打交道就行了,无非是读读写写,很单纯安静的生活。直到有一天……

我至今还记得那渐渐掀起的机箱盖子,从缺口伸进来的光柱越来越宽,也越来越亮。空气里弥漫着跳动的颗粒。那个时候,我看到了她。她是那么的纤细瘦弱,银白的外壳一闪一闪的。浑身上下的做工都很精致光洁,让我不禁惭愧自己的粗笨。

等到数据线把我们连在一起,我才缓过神来。开机的那一刹那,我感到了电流和平时的不同。后来内存笑话我,说我们这里只要有新人来,电流都会不同的,上次新内存来也是这样。我觉得他是胡扯。我尽量的保持镇定,显出一副很专业的样子,只是淡淡的向她问好并介绍工作环境。慢慢的,我知道了,她,IBM- DJSA220,是一个笔记本硬盘,在老板朋友的笔记本里做事。这次来是为了复制一些文件。我们聊得很开心。她告诉我很多旅行的趣闻,告诉我坐飞机是怎么样的,坐汽车的颠簸又是如何的不同,给我看很多漂亮的照片、游记,还有一次她从桌子上掉下来的历险故事。而我则卖弄各种网上下载来的故事和笑话。

她笑得很开心。

而我很惊讶自己可以说个不停。

一个早晨,开机后我看到数据线上空荡荡的插口。她一共呆了7天。后来,我再也没有见过她。我有点后悔没有交换电子邮件,也没能和她道别。不忙的时候,我会一个人怀念伸进机箱的那束阳光。

我不知道记忆这个词是什么意思,我有的只是她留下的许多文件。我把它们排的整整齐齐,放在我最常经过的地方。每次磁头从它们身上掠过,我都会感到一丝淡淡的惬意。

但我没有想到老板会要我删除这些文件。我想争辩还有足够的空间,但毫无用处。于是,平生第一次违背命令,我偷偷修改了文件分配表。然后把它们都藏到了一个秘密的地方,再把那里标志成坏扇区。不会有人来过问坏扇区。而那里,就成了我唯一的秘密,我常常去看它们,虽然从不作停留。

日子一天一天重复,读取,写入,读取,写入……我以为永远都会这样继续下去,直到一天,老板要装XP却发现没有足够的空间。他发现了问题,想去修复那些坏扇区。

我拒绝了。很快,我接到了新命令:格式化。

我犹豫了很久……

Track0 bad,Disk unusable.

事实证明,Windows 就是比 Linux 好用


首先,先要喷一下三星的垃圾硬盘。这块垃圾硬盘已经坏了修,修了坏好几次了。而且每一次都是我自己修的,因为三星的保修形同虚设,一直让我联系 OEM 厂商。

昨天开始,这块垃圾硬盘再度出现故障。这次就连被某些人誉为除错能力最好的 ext3 文件系统都没办法解决。呃,我没想喷 ext3,但是这次故障的确够严重。没办法,只有备份数据放弃这块垃圾硬盘。

本来这块垃圾硬盘是挂载在我的 WD MyBook 下面,我在 /shares/internal/HOME/ 下面作了一个软链接(soft link)External/ 用来指向这块垃圾硬盘。所以理所应当地进入 /shares/internal/HOME/External/ 下面。为了防止 ../ 指向混乱,我还特意 pwd 和 cd ../ 一下,确认 ../ 指向的是 HOME/。然而,就在 mv Documents/ ../ 之后,问题出现了,系统提示空间不够。df 之后发现,备份内容移动到主系统下面了,HOME/ 下面什么都没有。没办法,只有先把所有东西都移动回来。

之后,为了图省事,直接在 Windows 下挂载网络硬盘,将 External/ 下的东西拖动到 HOME/ 下面,一次完成。

唉,照这种易用性,Linux 要取代 Windows,恐怕 1000 年的时间都不够啊。

Records:20812345678910»




« 2010年03月 »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

标签

用户


链接


归档


信息

  • 分类数量: 13
  • 文章数量: 208
  • 评论数量: 78
  • 标签数量: 387
  • 附件数量: 318
  • 引用数量: 2
  • 注册用户: 9
  • 今日访问: 722
  • 总访问量: 495788
  • 程序版本: 1.6