2009年10月9日星期五

你都知道吗——N95的100种功能(1)

通话类

  1. GSM电话手机的首要功能当然是打电话。GSM850/900/1800/1900Mhz四频,支持语音拨号、自动以语音报来电者姓名,名片支持名字拼音首字母查询,3D铃声很炫。

  2. 3G电话WCDMA2100Mhz,高质量话音。但内地暂不支持,现3G的首发名单是TD-CDMA,但轮排者名单上有WCDMA,届时N95的3G通话就大放异彩了。

  3. 网络电话利用skype、truphone、fring等软件,可以通过WIFI或其他网络方式打“免费电话”。不同的厂商资费策略不同,在世界范围内,大致是用同一通讯软件的用户之间通话免费,打入固话和手机收少量费用,但若在推广期间则连后者都是免费的。据上述软件使用情况看,网络电话的话音清晰,延迟不明显,基本可用。

  4. 对讲机pushtotalk。一按即讲,按键通话。这是内地较少见的手机服务,但需要移动服务商支持。在国外已很流行。日前北京也已试开通。PTT功能就像普通对讲机那么好使,一对多,组内轮流发言,虽然也用移动分组网络,但费用很低。奥运期间可以大有作为,平常用于自驾车团队旅行中的联络也是挺好的。

  5. 来电通结合这个软件,能清楚地显示是那个省、市、地打来的电话。

  6. 来电防火墙例如:“ACM”软件。白名单、黑名单;针对不同的来电对象进行:正常接收、发忙音、回短信、禁铃声、转移呼叫、答录等多项自动操作。

  7. 手机魔音例如“声音变变”软件。可将你通话的声音立即变为-男、女、机器人声音,可加上森林、街道、会议等背景声音;还可以录下来,发彩信,让你的朋友大吃一惊。

  数据网络

  8. GPRS/EDGEEGDE又称2.75G,上网比GPRS快几倍,在3G到来之前是一个很好的过渡选择,中国移动已在多个城市提供EDGE网络服务。

  9. WCDMA高速的数据服务,可实现高质量的网络视频对话、高速上网。虽然内地暂不支持,但早晚是可用的。

  10. WIFI又叫WLAN,无线局域网。可以花200元买个无线路由器,接上家中的宽带互联网后,就可以让N95在家免费无线上网了,网速飞快。当然在机场、咖啡厅等热点WIFI接入也可以免费或低费用上网。

  11. 无线modem笔记本利用N95的无线modem功能,通过GPRS/EDGE上互联网是个好办法。

  即时通讯IM

  12. 手机QQQQ2007手机版的软件可以说功能相当全面,不过可惜目前尚不能视频对讲。

  13. 手机MSN白领IM的首选,暂时还不能语音对话。

  14. 手机GoogleTalk对习惯使用它的人来说,肯定是一个好消息。

  15. 位置交友这个功能不同于QQ那么虚幻,是基于真实地理位置的交友。例如:你想和你所住小区或办公大楼周围100米/500米范围内不知名字的GG、MM联络吗?不知道他们的电话号码也没关系,只要知道他们的爱好就够了,先安装Mimo软件,登录后便可找到你住的院子周围的Mimo志同道合者了。

  短信、邮箱类

  16. 短信虽然短信发送还是限制在70汉字内,但当你输入超过70字时会自动拆分为两封或多封发送;支持群发。手机一定要按照本地时区做好正确的时间设定,否则所显示短信的发送时间就很怪异。如果加装了TTSMS,短信内容还会以合成语音读出来。

  17. 彩信可以作为附件发送小于300k储存在手机或插卡中的文件。手机拍的照片可以现拍现发,用内置muvee工具制作的配乐幻灯片可发送,flash文件也行。

  18. 内置邮箱邮箱设置如PC版outlook那样方便,可使用WIFI连接,不必顾虑收取大邮件的费用太高,当然包月上网更好。

  19. 推送邮箱类似国外流行的手机PushMail功能,即:主动式邮件推送业务。当用户听到提示音后,可以直接看到邮件的正文和附件的列表。而不是先要手机上网才能查看。需安装NokiaMailforExchange1.6.1forN95。不过需要配合企业服务器使用,也有一些地方的通讯**直接提供这类服务,称:随身邮。

  20. 语音信箱需要事先设定你的语音信箱号码,例如中国移动的125826。使用之前,别忘了先让手机的呼叫转移到这个语音信箱号码,此后打给你手机的电话都会自动转到这个语音信箱。你回来之后,或关机后再开机时,可按1、通话键,提取来电语音。

  蓝牙类

  21. 蓝牙耳机 蓝牙连接无需线缆,是蓝牙无线方式的最大优点。N95支持市面上的大多数蓝牙耳机,部分型号的蓝牙耳机上除必备的电话接听键外还有选曲键。手机放在兜里,不用连线。

  22. 蓝牙键盘蓝牙键盘打开时外形如普通PC键盘般大小,方便快速打字;折叠起来后只是一个小盒子;如果是软蓝牙键盘,卷起来的体积更小,方便携带。

  23. 蓝牙影音中继器(或蓝牙影音中心)中继器放在电视机旁边,并以电缆和电视机连接。N95的视音频信号以蓝牙方式发送,先由中继器接收,再由中继器输出到电视机、音响中。假如你用蓝牙笔记本代替中继器亦可。

  24. 蓝牙车载电话如果你的新车带蓝牙车载电话功能,当你把启动了蓝牙车载电话功能的N95带上车时,手机的拨号控制权就自动交给车载电话的拨号盘了。通话采用免提方式,由车内喇叭放声。

  25. 蓝牙搜索,近距离交友在手机上装好NokiaSensor软件。运行后建立主页Folio,开启蓝牙,便可通过SCAN功能来搜索蓝牙所能工作的10米范围内的其他Sensor用户。如果能够搜索到,则可以把这个用户添加到自己的“朋友册”中。这样,两个在10米范围内的Sensor用户就可以相互发送图片、声音等文件,也可以发送基于蓝牙传输的短消息了。

  26. 手机之间蓝牙数据传输这个更简单,两个手机首先通过密码进行蓝牙配对,配对后相互之间就可以互传文件了。

  27. 通过蓝牙连接,手机和PC之间可以进行数据同步、复制、程序安装等各项文件操作(NokiaPC套件支持蓝牙连接,手机存储的数据自然就很方便和PC交流了)。

  视频类

  28. MP4播放器内置RealPlay、Flash播放器可以播放大部分常见的视频文件,唯独AVI格式的需要事先转成MP4,但装上智能影院、Coreplayer等所谓全能播放器后则适应性更强。30帧/秒。画面色彩艳丽、声音动人。

  29. N95投影机N95提供了TV-OUT功能;PAL和NTSC两种视频制式,同时拥有4:3和16:9两种输出比例,虽然输出240×320像素的分辨率不怎么样,但会议时播放PPT幻灯片够用了,假如播放N95**的640×480像素、30帧/秒的VGA标准的视频片段会更精彩。

  30. N95电视机N95连接电视机的画面效果很好,很多人在首次看到N95的视频在电视机屏幕出现的时候,对其出色的显示效果都会感得很吃惊。国外有人干脆在电视机的顶部和侧面钻洞加装了N95的视频、音频接口。平常就把N95直接插在电视机上。

  31. N95手持大显示屏曾经有发烧友将7寸液晶屏或MP4之类的大屏显示器系在手臂上,另一头接N95的视频输出以作宽屏导航地图用。

  32. N95视频投影眼镜假如你很注重生活品位,可以将N95放在兜里,把它的视音频输出连接到市价2000多元的视频太阳眼镜上。你将会在眼镜镜片的位置看到相当于50-70寸的彩色大屏幕画面,耳机听到电影声音。甚至还有可以蓝牙无线连接的视频眼镜。

  电视类

  33. 网络电视内置了大量可选的视频网站,例如YouTube、ReutersVideo等,均可以用包括WIFI在内的多种网络连接,但可惜在内地这些网站大部分连不上或连上之后速度很慢。安装FunVv、空中播霸可以登录内地网络电视网站。

  34. 直播电视 很多国内电视台和港澳电视台都提供手机即时直播。利用FunVv、空中播霸播放,画面基本不卡,图像可用,但多数只能通过CMWAP或CMNET上网才能观看。是包月上网者的福音。

  音频类

  35. MP3播放器N95的MP3播放器功能强大,有图示均衡器可调节音质,可突出立体声。3.5mm的输出插孔可供音响发烧友自由选择耳机,内置立体声双喇叭声音清澈、细腻、洪亮。

  36. N95微型音响N95音源十分出色,但在空旷的野外仍嫌音量过小。如果把N95音频输出接入到体积如两盒香烟大小的微型音响上,音量和音色都会很不错,此为方便外出活动携带之举。

  37. N95发烧音响可以把N95音频输出到大型的专业功放音响上,并以专业眼光与常见的音响器材作比较,结论是N95+专业功放组合音响的效果是:高音清澈、中音圆润、低音浑厚,已经达到了音响发烧友对音源的基本要求。但假如升级到最新固件版本V12.0.014,会发生超重低音不足现象,音质反而下降了。

  38. 电子钢琴N95可用作为电子钢琴用,数字钮可用来作键盘,音质还可变为管风琴,只要安装SoundGenerator就可以了。

  语音类

  39. 语音拨号当你在手机设置启用语音功能后,按右选择键两秒后,会响起短促的提示音,进入语音拨号状态。对着话筒说被呼者名字,手机就会自动复述这个名字并拨号;有来电时,还会自动说出来电者姓名。识别率尚可,但合成语音干巴巴的,不自然。

  40. 合成语音朗读短信 安装了ttsms.v1.1.s60v3,手机会自动将短信朗读出来。但由于是合成语音,一个个字地蹦出来,没语调,很不舒服。拿来玩一下还可以。

  41. 发声词典港版N95自带了发声词典,除了看到英语单词的含义外,80%左右的英语单词还可以由手机自动读出来。语音发音准确,但有时读音有些沙哑。

  录音类

  42. 通话录音机在办公工具中有录音机,在通话前启动它,通话中就可以录音,但每几分钟会在耳机中出现提示音。如安装TotalRecall后,既可通话中随意长时间录音,也没有提示音。

  43. 电话答录机例如:Voice_Inbox_v1.02软件。当有来电的时候,程序将用一个你事先录好的欢迎语答复来电,并可以记录呼叫者的语音信息。当新信息到达的时候,你将在手机屏幕上看到一个提示,你可以选择播放或者删除此信息并可以查看其详细内容以及来电人。

  收音类

  44. 44、可视收音机可视广播电台在广播声音的同时会发送与节目相关的画面和文字,如唱片封套等,可惜目前国内尚没有一家电台提供这项服务。

  45. FM收音机不能享受可视收音机服务也无所谓,作为普通的FM收音机来用就是了。N95收音机能储存50多个电台,支持自动搜台与手动输入。由于N95需要用耳机线作为捕捉电台信号的天线。所以收音时手机喇叭不响。不过,假如你用3.5mm插头焊上一截20cm长的无耳机的电线,然后插入N95的耳机插孔作为天线,收音时喇叭就响了

  46. 网络电台收音机 上面两项收音功能都是通过N95内置的FM调谐器硬件,直接接收电台的空间信号的,因此与电台信号强弱即与你和电台的距离远近有关。而网络电台的信号则是直接通过网络传输的,没有了空间距离的限制。安装spodtronic软件后,便可看到世界各地的电台列表并收到这些电台。播放时会出现动画,支持WIFI连接,支持定时关机,音质不错。

  照相类

  47. 500万像素照相机很多人在选择N95时就是看中了500万像素蔡司镜头。N95在照相这个十分重要的指标上确实没有让喜欢它的人失望。聚焦准确,画面细腻,曝光准确,适应多种环境。完全达到了普通DC的水平。网上大量的实拍照片是最好的例证。不过N95在旧版V10时有拍照反应缓慢的毛病。但升级到新版V11、V12后这些毛病便一扫而光。

  48. 定时照相机利用N95的定时照相的功能,可以拍照一些特技镜头,比如说:花朵渐次开放的镜头――设定每隔2秒拍照一次,它便按原设定自动拍照,你便得到花瓣不断展开的连续相片了。

  49. 广角照相机谁说N95不能照广角。利用水晶壳和夹具,将佳能的广角镜头附加到N95镜头上,这就是广角照相机了。

  50. 望远可变焦照相机同理,利用水晶壳和夹具,同样可以将望远镜头加装到N95的镜头上,在此同时,相机还具备光学变焦功能。这比电子变焦实用得多了。虽然售价100元左右的N95望远镜头的镜片很低级,但效果却有点出乎意料的好。

2009年10月5日星期一

你都知道吗——N95的100种功能(2)

51. 变脸照相机这是通过一个JAVA程序实现的。通过软件的图像变形功能,将拍下的人像变成大嘴巴的、长脸孔的等,千奇百怪的卡通形象。很好玩的。

  52. N95航拍照相机这不是高科技吗?对,但N95面前无难事。具体方法是:将N95固定在遥控直升机的底部,开启N95相机的风景(已自动聚焦)、定时拍照功能,启动GPStoy软件纪录航迹。让飞机升空,回来将GPS航迹经GPStoy处理后,航拍的照片会马上自动出现在googlearth卫星地图上相应的航点上。再用photoshop进行拼图作业,将一张张小照片拼成大照片。最后你就得到一张分辨率很高的大幅航拍地图了。怎么样?好玩吧?

  摄像类

  53. 可变焦摄像机N95能够支持拍摄最大分辨率为640×480像素的30帧/秒VGA标准视频片段,提供了电子防抖的功能,录制的格式可以选择为MP4或者是3GP进行存储,支持美妙30帧的高速画面录制,拍摄效果可以与普通DV抗衡,使用起来很是方便。

  54. 网络摄像头通过trendcamWebcamandScreencam软件,你可以用N95的摄像头做为你电脑的网络摄像头来使用。该软件提供了两种无线连接方式接入网络使用和IM即时聊天软件的功能。

  音像编辑制作

  55. muvee音像编辑器这是N95内置功能,通过它,你可以将图片、视频配乐,变成多媒体文件供播放和传送,操作极其简单好用。

  56. 幻灯片播放器这是N95图像浏览时可以直接使用的功能,也可配乐。无需任何制作工序。最适宜在拍照后在手机上的观赏,伴着音乐,观看自动缩放的影像,十分happy。但这幻灯片不能保存和发送。如需保存就需要用到上述的muvee了。

  57. 照片编辑器N95在照片浏览器中提供了大量的照片后期编辑功能,可以在N95上将照片进行裁剪、调整色彩、缩放、加框、剪切、添加文字、漫画变形等图像处理,在旅途中玩玩,够用了。

  扫描类

  58. 名片扫描识别器安装BizReaderAsianV1.2之后,你的N95就变成名片扫描识别器了。打开镜头,对准名片,自动对焦后会哔的一声,此后机器会自动进行光学字符识别,然后将识别结果(姓名、电话等)存到你的名片夹中,你马上就可用用来拨号了。解决了名片输入需要打字的麻烦。

  59. OCR光学字符自动识别器本来N95安装的是Symbian9.2/S603rd的FeaturePack1,据官方消息该版本内置了OCR能,但目前没开放。暂时可以过第三方的OCR软件解决。

  60. 条码阅读器N95在办公工具中有条码阅读器,进入此功能后打开镜头,手机离条码15cm,对准条码,手保持稳定,几秒后将自动发出“蛙”一声,读出的条码就出现在屏幕上。超市的商品标注的条码是由垂直条状黑块组成的1维条码。条码阅读还可以用quickmark软件。

  61. 2维条码阅读器N95的读码器还可以读出2维码。所谓2维码是由组合的不规则的小黑、白块组成的正方形码图,包含的信息量要比1维条状的条形码要大,从而得到此标签所附带的更多的有关“商品、产地、厂商”的信息。商品的条码除代表了该商品的型号外,往往还包含了厂商的电话,读出条码后将会自动提取出电话号码,此时直接按通话键就可以拨通该厂商联络电话了。

  GPS类

  62. GPS定位器N95在如此小的体积中内置了GPS模块和天线,这显然是会使人心动的。N95工具中有“GPS数据”,即卫星定位功能。据实用情况看,如定位时你的手掌远离手机的右下方――比如采用左手持机方式――不要影响GPS信号的接收,则卫星定位的速度还是很快的。定位最好在室外开阔地,一般新机首次定位在5分钟以内,不同地点的首次开机定位2分钟以内;同一地点关机(退出GPS)后2小时内重新开机定位在10秒以内。至于卫星定位点和地图真实位置匹配问题。经验是:配合googlearth卫星照片时十分准确。但配合除此外的一切有标注的电子地图,卫星定位点都偏移到实际目标的西北400米位置上。据说这是国家对地图加密的缘故。但所有能用的导航软件中的地图对此定位偏差都做了解密校正,所以能用的导航软件的地图在定位时是准确的。

  63. 语音导航器   N95自带的smart2go导航软件只有国行的才能正确使用,目前水货货装R66是最佳选择,KLD3.0也可以驱动N95内置GPS。这几个软件各有特色,使用起来都不错,定位基本准确,小漂移尚可接受,导航声音洪亮,可以满足一般导航需要,步行和驾车均可。 

  64. sportstracker调用了N95的内置GPS,携带者的步速、距离、时间、行程、海拔、经纬度、运动速度图线以及运动轨迹在手机上一目了然。是爱好运动者的福音。

  65. 手持GPS面积计算器手持手机走一圈,马上你就知道你走过的轨迹所包围的面积。装上GPS面积计算器软件就可以了。

  66. 与卫星地图联动的3D航迹、照片纪录器比较好用的是GPStoy。这个软件可以纪录手机的航迹、航点,自动匹配在相应航点拍照的照片,自动在googlearth卫星地图生成航迹图,所生成的地图可直接看到航迹和不同航点拍照的照片,甚至还可以绘制包括海拔高度的3维航迹图,十分方便。

  67. 卫星云图显示器如果你是一个气象人员或爱好者,你一定想随时看到卫星云图。安装“天讯伶俐卫星云图”就可以了,多种网络方式上网,能显示卫星静态、动态云图。

  68. 卫星位置显示器利用PowerNavigation2S60软件,随时可以看到头顶天空所有卫星的数目和在天穹中的位置坐标图。

  69. GSM航迹纪录器GSMPositionLocator软件只采用手机基站GSM信号定位,无需用到GPS卫星定位功能。它在跟踪面板上收集GSM蜂窝网络的航路点堆栈,当你返回曾经经过的航路点,它会将轨迹显示出来。

  办公类

  70. 单位换算N95办公工具中的单位换算工具可以对货币、面积、能量、长度、功率、压力、温度、时间、速率、体积等多种单位进行换算。

  71. 计算器N95的办公工具中有普通计算器功能。界面、功能一般。

  72. 手机OFFICE(word、excel、powerpoint)手机自带的OFFICE在没有升级之前,只可以阅读word、excel、PowerPoint等文件,但对内容不能作修改编辑。升级之后就随心所欲了。但某些破解升级版对.txt文档的支持并不好,有乱码。

  73. 手机PDF阅读器很多手机都不带adobepdf阅读器。N95自带了这个阅读器和Office后,什么文件的阅读都不在话下了。

  74. 手机ZIP文件管理器有了这个自带的利器,无论对网上下载的ZIP文件解压和手机内的文件压缩都很方便。

  75. ActiveFile文件管理器强大的文件管理器,安装一个软件,就相当于您安装了两个文件管理器、一个任务管理器、一个压缩、解压软件、一个截图软件、一个背景灯管理软件、一个硬件查看软件……。

  76. ZTA4联想文字输入ZTA4是可以装到N95中的联想拼音输入法之一。支持词组记忆、无限联想功能。很好用的。在短信输入中使用顺利,但对名片夹、部分程序中的汉字输入暂不支持。

  77. N95蓝牙打印机N95内的文件发送选项支持蓝牙传输,只要你在打印机上插入蓝牙适配器,文件就可以直接发送给打印机打印,无线连接,很方便。通过PC套件,当然也可以让N95的文件输出到与电脑连接的打印机上。

  78. N95扫描、复印、传真三合一手机ScanRScanCopyandFaxv1.2S60V3v1.2是一个国外发布的新软件。通过它号称可以实现扫描、复印、传真三合一。实际上,这里说的扫描和复印实际上都是一回事,是通过手机照相形成的图片。使用它之前,你还要事先要向中国移动申请一个特别的11位手机传真号码〔开通费需300元〕――这并不是平常通话的手机号。当手边没有打印机、只有传真机的特殊情况下发传真的功能还是可以救急的。

  金融类

  79. 手机银行现在不少银行都开通了手机银行服务,对手机的要求也不高。例如工行、兴业银行等银行推出的是基于短信方式的手机银行;而招商银行基于wap的网站,则要求手机支持WAP2.0协议,并已开通GPRS上网功能。只要你按照银行的规定操作。N95完全可以胜任手机银行的工作。

  80. 家政会计你想N95成为你的家政掌上会计吗?Handyexpense就是很好使的一个。每天家庭开支,随手就可以录到手机上。按信用卡、现金开支分别统计,随时掌握自己的财务状况。

  81. 炒股手机炒股可以采用投资通、同花顺等客户端软件,一般都是免费的。连接网站的速度都很快,功能较全面。移动炒股成了轻而易举的事情。

  遥控类

  82. 声控器N95具备用声音命令打开指定的程序的功能,此时N95变成了声控机。

  83. 手机远程控制电脑安装PCControlShapeServicesTsMobiles之后,你的N95方向键变成了蓝牙鼠标,数字键变成了控制电脑程序打开的蓝牙遥控器,操作简便快捷。

  84. 红外家电控制器启动PsilocirRemote1.71之后,将N95左侧的红外窗对准家电的遥控接收窗,N95就变成一个手机红外遥控器了。可以控制电视机、DVD、CD、空调等等。

  其他

  85. RSS信息订阅器诺基亚推出了官方软件:“维信”手机端。在“维信”上定制指定网站后,您根本不需要一个一个网站地去点击、刷新,搜寻浏览您想要的内容,所有指定栏目信息都将自动更新传送到您的手机上。为用户开拓了一种新的省事的阅读方式。

  86. NOKIALifeblog(写e生活)这是N95内置的一个图片博客网站链接,在多媒体功能的选项里。你可以随时将刚拍的照片方便地传到这个网站上,供你的朋友共享。

  87. WIKI网络百科全书WIKI是支持各种连接的公开的电子百科全书,通过开放式的编辑方式,由大家提出词语条目,并对词典中词语的解释进行订正,内容新颖、更新及时,属web2.0**的杰作。

  88. N95网络卡拉OK机网上很多.kar的文件。下载KaraokeGum1.2后,打开软件就可以搜索到.kar文件,再放到MySongs文件夹就可以了。平时喜欢K歌的朋友不要错过了。

  89. 游戏机N95具备强劲的CPU、较高的运行效率,对3D图形显示做了优化,除内置的3D游戏、贪吃蛇外,大量移植的街机游戏、中文麻将、午夜台球、直升飞机空战、大赛车、FIFA2007、2008都能流畅运行。是游戏爱好者心仪的强大武器。

  90. 电子书目前对文件格式的适应性较强的是Qreader,掌上书院等。

  91. 手机电子杂志号称手机电子杂志的网站很多,基本是普通wap网站的变形,内容来源没有多少突破。而“掌媒”通过知名的纸媒体杂志如:三联生活周刊、新民周刊、中国新闻周刊、凤凰周刊和报纸:南方周末、晶报等合作。保证了内容的权威性、可读性。在“掌媒”的客户端上阅读这些缩小版的杂志、报纸的时候,可以随心所欲地部分、全部缩放文字、图片。较好地保留了原来书报的阅读习惯。可以说,“掌媒”提供了一种新的阅读体验,不过个别杂志的阅读收费竟达8元/本。

  92. 中英词典×货N95内置了中英词典,可作要求不高的场合使用。港行还自带发声英语词典。

  93. 双闹钟N95除在日历里用的闹钟作为约会的提醒外,还有另一个“快速闹钟”,在手机关机后仍然有效。如果动一下心眼,可以将它用来作自动开机闹铃用。

  94. 电子日历功能较丰富,商务人士的有力助手。比较贴心的安排是:提醒可以分工作日,非工作日。

  95. 记事本除了记事外,还相当于手机的电脑剪贴板,有些程序会将复制的信息放到记事本里。

  96. 手机周易如果你是手机周易的爱好者,用玄奥择吉手机版,可对你感兴趣的各种问题进行推演。

  97. 方便携带的U盘有了N95就不用另外再带U盘了。手机自带160M存储,插2G外存卡。一般够用了。

  98. 手机梳妆镜简单得很,只要启动N95的副摄像头就可以了。将手机面对自己,屏幕上就会出现自己的影像,马上就能对着屏幕“臭美”了。

  99. 手电筒安装一个名为“夜光电子钟”程序,选择其中的亮度高一些的钟面背景,在黝黑的黑暗中,N95暂**替手电筒用一下是可以的。

  100. 电子闪光灯安装NTorchLitev100_s60cn,红色的补光灯可长亮和闪烁。也可以不装此软件,将镜头打开,设置:强制闪光、隔2秒定时拍照。在黑夜里N95白色闪光灯就会自动闪光了。

Some papers of Martin Hofmann on Resource Bounded Computation

http://www.dcs.ed.ac.uk/home/resbnd/papers/martin.html

Some papers of Martin Hofmann on Resource Bounded Computation

基于Git版本管理系统的简单教程

Git可能有的程序员或者系统管理者还不知道,但是在开源界他可是个超男,火爆的很。他是linux他爸Linus Torvals为了更好的维护linux源代码搞的,他能搞出linux那么牛B的东西,Git肯定也不再话下, Git主要是分布式版本管理系统,速度贼快,与Subversion和CVS不同,他不需要一台中央服务器,各个repository节点对其clone的那个节点负责,有点p2p的性质,因为肯定有个repository节点是所有其他子孙节点的祖宗,所以最终各节点所管理的内容都能够同步到祖先节点,中间的开发维护过程你就可以在断网、移动开发等任何情况下进行,当你决定合并的话只需push就可以了,老纪以前使用过CVS和Subversion,觉得Git比他们多出的内容就是多了两个命令push和pull,pull是从你的父节点把其更新的内容弄下来,push是你把你更新的内容提交上去。


老纪因为有两个项目要维护,但是一会在家办公一会在公司办公,数据同步是个问题,既然买了Linode VPS就不能让他闲着浪费,也正好试试Git怎么样,安装了Git后参考了一下Git的手册总结出一个使用ssh的Git简单教程,这样既不用开放其他端口也达成了同步项目的目录,自己感觉还是比较满意的。多说无益,现在就动上手:

1.服务器端Git设置


aptitude install git-core
#到你工作目录建立项目目录
cd ~
mkdir project.git && cd project.git
#初始化只有.git内容的repository
git init --bare
#至此你服务器上的设置已经完成


2.客户端操作

Git的window客户端?Git没有什么客户端之说,不过如果你想做一个供老多老多人共同使用的仓储库的话他就有,不过目前我还没接触呢,现在我这个配置够几个人用了。到http://code.google.com/p/msysgit/downloads/list下载windows能用的Git并安装,它包括了一个小的linux/unix环境,足够维护你的项目使用,安装后可以直接运行桌面上的Git bash,如果你有点linux基础或者命令行的基础就什么都不怕。


#在你已有的项目目录初始化本地Git仓储库,比如d盘的project目录
cd /d/project
git init
#与远程库,就是我在linux上建的那个,看到了,我用的是ssh链接,安全有了保证
#poject 是我在本地库为远程库建的一个标识,user是我在linux上维护项目的用户名
git remote add project ssh://[email protected]/home/user/project.git
#给你自己起个名
git config --global user.name "zhangsan"
git config --global user.email "[email protected]"
#现在配置完成了,开始把你的项目提交到远程库了
#首先把要维护的文件添加上
git add .
#提交内容,提交后的内容还在本地库,这就是和cvs和subversion不同的地方,也是git实现分布式的关键
#只有你才能决定什么时候把内容提交到远程库
git commit -m "....."
#现在你决定要把本地修改的内容合并到远程库了
git push
#在另外一端,比如家里,克隆下载远程库
git clone ssh://[email protected]/home/user/project.git
cd poject
#配置下设置
git remote add project ssh://[email protected]/home/user/project.git
#给你自己起个名
git config --global user.name "zhangsan"
git config --global user.email "[email protected]"
#那么你就可以随便玩了,要记住在每次push之前先pull下,更新一下本地内容
git pull


好了,Git基本教程(最好一个人在不同地方使用)就完成了。

Linux内核使用的GNU C扩展

GNU CC是一个功能非常强大的跨平台C编译器,它对C语言提供了很多扩展,这些扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持。本文把支持GNU扩展的C语言称为GNU C。

Linux内核代码使用了大量的GNU C扩展,以至于能够编译Linux内核的唯一编译器是GNU CC,以前甚至出现过编译 Linux内核要使用特殊的GNU CC版本的情况。本文是对Linux内核使用的GNU C扩展的一个汇总,希望当你读内核源码遇到不理解的语法和语义时,能从本文找到一个初步的解答,更详细的信息可以查看gcc.info。

语句表达式
------------------------------------------
GNU C把包含在括号中的复合语句看做是一个表达式,称为语句表达式,它可以出现在任何允许表达式的地方,你可以在语句表达式中使用循环、局部变量等,原本只能在复合语句中使用。例如:
#define min_t(type, x, y) ({ type __x = x;\
type __y = y;\
__x < __y ? __x : __y;})

复合语句的最后一个语句应该是一个表达式,它的值将成为这个语句表达式的值。这里定义了一个安全的求最小值的宏,在标准C中,通常定义为:
#define min(x,y) ((x) < (y) ? (x) : (y))

这个定义计算x和y分别两次(x和y中的小者被计算两次),当参数有副作用时,将产生不正确的结果。 使用语句表达式只计算参数一次,避免了可能的错误。语句表达式通常用于宏定义。


typeof
------------------------------------------
使用前一节定义的宏需要知道参数的类型,利用typeof可以定义更通用的宏,不必事先知道参数的类型,例如:
141: #define min(x,y) ({ \
142: const typeof(x) _x = (x); \
143: const typeof(y) _y = (y); \
144: (void) (&_x == &_y); \
145: _x < _y ? _x : _y; })

这里typeof(x)表示x的值类型,第142行定义了一个与x类型相同的局部常量_x并初使化为x,注意第144行的作用是检查参数x和y的类型是否 相同(如果x和y的类型不同编译器将会发出warning,并不影响后面语句的执行)。typeof可以用在任何类型可以使用的地方,通常用于宏定义。



零长度数组
------------------------------------------
GNU C允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例如:
struct minix_dir_entry {
__u16 inode;
char name[0];
};
结构的最后一个元素定义为零长度数组,它不占结构的空间。在标准C中则需要定义数组长度为1,分配时计算对象大小比较复杂。


可变参数宏
------------------------------------------
在 GNU C中,宏可以接受可变数目的参数,就象函数一样,例如:
#define KERN_DEBUG "<7>"
#define pr_debug(fmt,arg...) printk(KERN_DEBUG fmt,##arg)
这里arg表示其余的参数,可以是零个或多个,这些参数以及参数之间的逗号构成arg的值,在宏扩展时替换arg,例如:
pr_debug("%s:%d",filename,line)
扩展为
printk("<7>" "%s:%d", filename, line)

使用##的原因是处理arg不匹配任何参数的情况。如果arg的值为空,GNU C预处理器在这种特殊情况下,丢弃##之前的逗号,这样
pr_debug("success!\n")
扩展为
printk("<7>" "success!\n")
注意最后没有逗号。


标号元素
------------------------------------------
标准C要求数组或结构变量的初使化值必须以固定的顺序出现, 在GNU C中,通过指定索引或结构域名,允许初始化值以任意顺序出现。指定数组索引的方法是在初始化值前写 '[INDEX] =',要指定一个范围使用 '[FIRST ... LAST] =' 的形式,例如:
static unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL };
将数组的所有元素初使化为 ~0UL,这可以看做是一种简写形式。

要指定结构元素,在元素值前写 'FIELDNAME:',例如:
struct file_operations ext2_file_operations = {
llseek: generic_file_llseek,
read: generic_file_read,
write: generic_file_write,
ioctl: ext2_ioctl,
mmap: generic_file_mmap,
open: generic_file_open,
release: ext2_release_file,
fsync: ext2_sync_file,
};

将结构ext2_file_operations的元素llseek初始化为generic_file_llseek,元素read 初始化genenric_file_read,依次类推。我觉得这是GNU C 扩展中最好的特性之一,当结构的定义变化以至元素的偏移改变时,这种初始化方法仍然保证已知元素的正确性。对于未出现在初始化中的元素,其初值为 0。



case范围
------------------------------------------
GNU C 允许在一个 case 标号中指定一个连续范围的值,例如:
case '0' ... '9': c -= '0'; break;
case 'a' ... 'f': c -= 'a'-10; break;
case 'A' ... 'F': c -= 'A'-10; break;

case '0' ... '9':
相当于
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':




声明的特殊属性
------------------------------------------
GNU C允许声明函数、变量和类型的特殊属性,以便手工的代码优化和更仔细的代码检查。要指定一个声明的属性,在声明后写__attribute__ (( ATTRIBUTE )),其中ATTRIBUTE是属性说明,多个属性以逗号分隔。GNU C支持十几个属性,这里介绍最常用的:

* noreturn
属性noreturn用于函数,表示该函数从不返回。这可以让编译器生成稍微优化的代码,最重要的是可以消除不必要的警告信息比如未初使化的变量。例如:
# define ATTRIB_NORET __attribute__((noreturn)) ....
asmlinkage NORET_TYPE void do_exit(long error_code)
ATTRIB_NORET;

* format(ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)
属性format用于函数,表示该函数使用printf, scanf 或strftime风格的参数,使用这类函数最容易犯的错误是格式串与参数不匹配,指定format属性可以让编译器根据格式串检查参数类型。例如:
asmlinkage int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));
表示第一个参数是格式串,从第二个参数起根据格式串检查参数。

* unused
属性unused用于函数和变量,表示该函数或变量可能不使用,这个属性可以避免编译器产生警告信息。

* section ("section-name")
属性section用于函数和变量,通常编译器将函数放在.text节,变量放在.data或 .bss 节,使用section属性,可以让编译器将函数或变量放在指定的节中。例如:
#define __init __attribute__ ((__section__ (".text.init")))
#define __exit __attribute__ ((unused, __section__(".text.exit")))
#define __initdata __attribute__ ((__section__ (".data.init")))
#define __exitdata __attribute__ ((unused, __section__ (".data.exit")))
#define __initsetup __attribute__ ((unused,__section__ (".setup.init")))
#define __init_call __attribute__ ((unused,__section__ (".initcall.init")))
#define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit")))
连接器可以把相同节的代码或数据安排在一起,Linux内核很喜欢使用这种技术,例如系统的初始化代码被安排在单独的一个节,在初始化结束后就可以释放这部分内存。

* aligned (ALIGNMENT)
属性aligned用于变量、结构或联合类型,指定变量、结构域、结构或联合的对齐量,以字节为单位,例如:
struct i387_fxsave_struct {
unsigned short cwd;
unsigned short swd;
unsigned short twd;
unsigned short fop;
} __attribute__ ((aligned (16)));
表示该结构类型的变量以16字节对齐。通常编译器会选择合适的对齐量,显示指定对齐通常是由于体系限制、优化等原因。

* packed
属性packed用于变量和类型,用于变量或结构域时表示使用最小可能的对齐,用于枚举、结构或联合类型时表示该类型使用最小的内存。例如:
struct Xgt_desc_struct {
unsigned short size;
unsigned long address __attribute__((packed));
};
域address将紧接着size分配。属性packed的用途大多是定义硬件相关的结构,使元素之间没有因对齐而造成的空洞。


当前函数名
------------------------------------------
GNU CC预定义了两个标志符保存当前函数的名字,__FUNCTION__保存函数在源码中的名字;__PRETTY_FUNCTION__保存带语言特色的名字。在C函数中,这两个名字是相同的,在C++函数中,__PRETTY_FUNCTION__包括函数返回类型等额外信息,Linux内核只使用了__FUNCTION__。
void ext2_update_dynamic_rev(struct super_block *sb) {
struct ext2_super_block *es = EXT2_SB(sb)->s_es;
if (le32_to_cpu(es->s_rev_level) > EXT2_GOOD_OLD_REV)
return;
ext2_warning(sb, __FUNCTION__,
"updating to rev %d because of new feature flag, "
"running e2fsck is recommended",
EXT2_DYNAMIC_REV);
这里__FUNCTION__将被替换为字符串 "ext2_update_dynamic_rev"。虽然__FUNCTION__看起来类似于标准 C中的__FILE__,但实际上__FUNCTION__是被编译器替换的,不象__FILE__ 被预处理器替换。



内建函数
------------------------------------------
GNU C提供了大量的内建函数,其中很多是标准C库函数的内建版本,例如memcpy,它们与对应的C库函数功能相同,本文不讨论这类函数,其他内建函数的名字通常以__builtin开始。
* __builtin_return_address (LEVEL)
内建函数__builtin_return_address返回当前函数或其调用者的返回地址,参数LEVEL指定在栈上搜索框架的个数,0表示当前函数的返回地址,1表示当前函数的调用者的返回地址,依此类推。例如:
printk( KERN_ERR "schedule_timeout: wrong timeout "
"value %lx from %p\n", timeout,
__builtin_return_address(0));

* __builtin_constant_p(EXP)
内建函数__builtin_constant_p用于判断一个值是否为编译时常数,如果参数EXP的值是常数,函数返回 1,否则返回 0。例如:
#define test_bit(nr,addr) \
(__builtin_constant_p(nr) ? \
constant_test_bit((nr),(addr)) : \
variable_test_bit((nr),(addr)))
很多计算或操作在参数为常数时有更优化的实现,在GNU C中用上面的方法可以根据参数是否为常数,只编译常数版本或非常数版本,这样既不失通用性,又能在参数是常数时编译出最优化的代码。

* __builtin_expect(EXP, C)
内建函数__builtin_expect用于为编译器提供分支预测信息,其返回值是整数表达式EXP的值,C的值必须是编译时常数。例如:
13: #define likely(x) __builtin_expect((x),1)
14: #define unlikely(x) __builtin_expect((x),0)

564: if (unlikely(in_interrupt())) {
565: printk("Scheduling in interrupt\n");
566: BUG();
567: }
这个内建函数的语义是 EXP 的预期值是 C,编译器可以根据这个信息适当地重排语句块的顺序,使程序在预期的情况下有更高的执行效率。上面的例子表示处于中断上下文是很少发生的,第 565-566 行的目标码可能会放在较远的位置,以保证经常执行的目标码更紧凑。

http://lxr.linux.no/ 学习linux内核的好地方!

LXR (formerly "the Linux Cross Referencer") is a software toolset for indexing and presenting source code repositories. LXR was initially targeted at the Linux source code, but has proved usable for a wide range of software projects. lxr.linux.no is currently running an experimental fork of the LXR software.

学习linux内核的好地方!