易截截图软件、单文件、免安装、纯绿色、仅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 安装JRE的详细介绍

 下载JRE(Java Runtime Environment) 。(http://java.sun.com/javase/downloads/index.jsp)
ii. [root@localhost ~]#mkdir /usr/local/java
iii. (将档案jre-1_5_0_09-linux-i586-rpm.bin下载到/usr/local/java目录下)
iv. (超级用户模式)
[root@localhost ~]#s ......

linux 内核2.4.26 升级后 启动失败

我想在redhat下使用摄像头  但是现有版本不支持 所以我想升级内核 这样可能会支持摄像头
于是我从网上下载了 2.4.26版本的内核 通过网上介绍的那些方法 升级内核 升级后重启电脑 进入新内核时 遇到下面的问题
VFS:Cannot open root device "sda2" or 08:01
Please append a correct "root=" boot option
kernel pa ......

Linux安装JDK详细步骤2

Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm)
,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也行。
进入安装目录
#cd /home
#cp
jdk-1_5_0_02-linux-i586.rpm /usr/local
#cd /usr/local
给所有用户添加可执行的
权限
#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin ......

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-***
       ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号