易截截图软件、单文件、免安装、纯绿色、仅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 内核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 ......

windows下的ReadFile与Linux下的pread

问题的引出:
         当对同一文件句柄(在Windows下)或是文件描述符(在Linux下)进行随机读写操作时,会存在文件指针的定位与读\写俩个步骤,但由于这不是一个原子操作,就可能产生如下问题:进程A对某文件先定位到 f1 处,然后被中断,然后进程B对同一文件定位到 f2 处,然 ......

使用 Linux 系统调用的内核命令

2007 年 4 月 17 日
Linux® 系统调用 ——
我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux
系统调用接口(SCI),学习如何添加新的系统调用(以及实现这种功能的其他方法),并介绍与 SCI 有关的一些工具。
系统调用
就是用户空间 ......

VPS使用手记 Unix/Linux管理工具Webmin

Written by shine
on 2009, April 23, 12:29 PM. Linux
Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前 Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux
以为还包括:AIX、HPUX、Solaris、Unixware、Irix 和FreeBSD等。
Webmin ......

linux的mount(挂载)命令详解


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