易截截图软件、单文件、免安装、纯绿色、仅160KB

浅谈Unix和Linux下的int

这也算和平同学的点题作文了,呵呵。
他对于Linux下很多时候,api函数大量使用int作为常用类型感到不解,问我,我呢,就试着回答一下哈。
原帖在这里:http://student.csdn.net/space.php?uid=121080&do=thread&id=9168
问题如下:
根据<c++ primer>建议,表示像“容量”这样的变量时,因为不可能出现负数,所以建议用size_t类型。但是linux下的程序,好像比较喜欢使用int。
为什么不使用size_t(或者unsigned int)而使用int?表示范围不是少了一半吗?
我的回答:
嗯,这个问题算是比较偏门了,不过,我做过Windows开发,也做过Linux开发,两个平台都用过,没什么道理哈,仅仅谈点自己的感觉,嗯,不一定准确,大家有高见,还可以补充。
我觉得这个问题首先是一个文化问题。什么叫文化,就是做这类事情的人们的一个通常的共识,就是大家都习惯这么做事。我很早,嗯,07年开始转向Linux开发的时候,就发现这点不同。
Windows呢,是微软公司开发的,大公司,强调严谨的开发风格,大家可以从它推崇匈牙利命名法就看的出来。它对于变量命名,类型命名是有严格规定的,要求尽量准确,不给后来者留歧义。比如,很多Struct*,它会使用typedef显式定名为一种新类型PStruct来管理,这样,大家从字面上就可以一眼看出来,而不用到用的时候,跑去数星星。数星星很容易数错的。我就干过坏事,嘿嘿。
这个道理也很简单,微软是开发OS的,说白了,它的主要产品功能,除了Windows的操作功能,还需要提供大量的api给广大程序员用,没办法啊,如果没人给他的操作系统开发应用程序,他的OS卖不动的。
这就要求微软不仅仅关注终端用户的体验,也特别关注程序员用户的体验,而明示的api,显然是一种很好的用户体验,程序员不容易犯错误,被api的提供者约束着做正确的事情,程序员bug少,成功率就高,进而开发成本就低,于是,形成良性循环。
同时,这也为微软的客服部门减少好多投诉哦,大家换位思考一下,如果微软的api含糊不清,大家是不是要发飙?呵呵。
这里面体现出来一个很重要的思想,微软是把广大应用程序员,也作为什么都不懂的终端用户在看待,试图从api上构建最大的开发友好度,因此,它对于命名法很严格,api定名表意很清晰,同时,对于各种变量、类型,不厌其烦,多次定义,为了是让各个行业的程序员, 用起来都尽量贴合自己的行业习惯。
这是有道理的,比如我现在在电力系统,我们定义变量类型,喜欢用Int16、Int32、I


相关文档:

Linux + Apache2.0 + Mysql + PHP + phpBB3.0

 Linux + Apache2.0 + Mysql + PHP + phpBB3.0
 1.安包:
   Apache2.0
         #tar -zxf httpd-***.tar.gz -C /usr/local/src/
         #cd /usr/local/src/httpd-***
       ......

linux的mount(挂载)命令详解


linux的mount(挂载)命令详解
来源:互联网 作者:佚名 时间:09-08 17:02:27
点评:linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享 linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,li ......

linux 命令集锦

最近在Linux装oracle 在网上搜了点资料和大家分享
linux下命令和文件及目录名都分大小写
//查看历史数据
history
history |grep mount
按"上下键"选以前敲过的命令
//拷贝文件
cp /usr/local/tomcat4/temp/func.class /usr/local/tomcat4/webapps/photoblog/WEB-INF/classes/framework/utils/
cp -Rf /photodataold ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号