8.3 程序组织 达到可移植性的方式,最重要的有两种,我们将把它们称为联合的方式和取交集的方式。 联合方式使用各个特殊途径的最佳特征,采用条件式的编译和安装,根据各个具体环境的特 殊情况分别进行处理。这样,结果代码是所有方案的一种联合,它可以利用各系统在能力方 面的优点。这种方式的缺点包括:安装过程的规模和复杂性,由代码中大量费解的编译条件 造成的复杂性等等。 只使用到处都可用的特征。我们建议采用取交集的方式,即:只使用那些在所有目标系统里 都存在的特性,绝不使用那些并不是到处都能用的特征。强求使用普遍可用特性也有危险性, 这可能限制了目标系统的范围,或者限制了程序的功能。此外,也可能在某些系统里导致性 能方面的损失。 为了比较这两种不同方式,我们来看一些使用联合方式的例子,以及采用交集方式对它 们重新进行整理的情况。正如你将要看到的,联合方式的代码从设计上看根本就是不可移植 的,虽然它们声称可移植性是自己的目标;而交集代码不仅是可移植的,通常也更加简单。 下面是个小例子,这里试图处理环境中因为某些原因而没有标准头文件 s t d l i b . h的情 况: 如果偶然用用的话,这种防御式测试还是可以接受的,但频繁地这样做就很不好了。这里也 提出了另一个问题:到底有多少 s t d l i b函数最后出现在这种形式的或者其他类似形式的条件 代码里。如果在程序里用到了 m a l l o c或者r e a l l o c,那么肯定也需要用其他的函数,例如 f r e e。如果unsigned int的大小与s i z e _ t(这是m a l l o c和r e a l l o c参数的正确类型 )不 一样,那么又会出什么问题?进一步说,我们怎么知道 S T D C _ H E A D E R S或_ L I B C确实已经定 156计计程序设计实践 下载
1
达内全套c/c++培训教程,达内全套哦,清华讲师详细讲解。去过达内的朋友都知道,他们的教学是远程教学的,而这里提供的就是视频教程哦。
1
数学建模司守奎以及代码程序,
2022-07-16 08:35:01 21.46MB 数学建模 教材 司守奎
1
现代企业管理模式(5S)教材,即整理SEIRI、整顿SEITON、清扫SEISO、清洁SEIKETSU、素养SHITSUKE
2022-07-15 14:05:13 1.34MB 5S
1
现代企业管理模式(5S)教材,即整理SEIRI、整顿SEITON、清扫SEISO、清洁SEIKETSU、素养SHITSUKE
2022-07-15 14:05:12 683KB 5S
1
TRIZ故事1——通红的玻璃板 在玻璃批量生产线上,对玻璃先进行加热然后再加工,加工后的玻璃仍处于通红状态,需要将其输送到指定位置直至冷却下来。 现在的问题是,因为玻璃还处于高温,呈现柔软的状态,在滚轴传输线的输送过程中会因为重力下垂而造成变形,导致玻璃表面凹凸不平。 年轻的工程师提出将传输线上的滚轴直径做到尽量小,以减少玻璃悬空的面积,提高玻璃的平度。(妥协思维、直线思维) “我们可以将滚轴直径像火柴棍一样细,”年轻的工程师说,“组成一个传输线”。 “那么,每米长度内将有大约500个滚轴,安装时需要像做珠宝首饰一样细致。”老工程师说,“想一想这个传输线的造价。” “我认为我们不能再考虑滚轴传输线,”一位工程师说,“最好用新的方法来替代它。” “有什么好办法呢?”年轻的工程师说道。 ……
2022-07-15 10:33:56 37.97MB TRIZ理论
1
TRIZ故事3——巨大的过滤器 一家工厂获得了一个大订单,产品是一个圆柱形过滤器,圆柱的直径1米,长度2米,轴向均匀分布直径为0.5毫米的密密麻麻的很多过滤孔。 工程师们看到图纸后都惊呆了,每个过滤器要加工出成千上万个轴向小孔。 “我们该如何来加工这么多的小孔呢?”总工程师问大家,“用钻床来钻吗?” “显然,钻这么长的小孔是不可能实现的,也许可以用高温铁针来扎出这些孔,”一位年轻的工程师毫无把握地说道。 所有的工程师都陷入了沉默。 这似乎是一个无法解决的难题。 ……
2022-07-15 10:08:52 37.97MB TRIZ理论
1
TRIZ故事11——危险的冰柱 北方的冬天,房子上的排水槽和排水管里会形成坚硬的冰柱,有的长达数米。当春天来到的时候,排水管受到太阳的照射,吸收的热量会首先融化冰柱的外表。当融化到一定程度时,冰柱会在重力的作用下从排水管中滑落,撞破排水管的弯头,有时,冰柱碎块会从排水管中飞出,扎伤经过的行人。 如何消除这个问题?成为人们面临的一道难题。 ……
2022-07-15 09:43:19 37.97MB TRIZ理论
1
2010前处理在分析测试中的应用实例教材版.ppt
2022-07-15 09:07:39 3.03MB 考试
国家计算机二级考试公共基础知识教材010.pdf
2022-07-15 09:04:53 1000KB 考试