可移植性

对于一段代码,它的移植性越好,重用性就越好!

可移植性优缺点

可移植性通常会和效率与实现的难易程度相互制约,具体地说,在一个或者多个平台上容易实现的可移植性代码通常都是低效的,通用既低效,专用才高效!这里就有一个矛盾,可移植性和高效率的矛盾问题,高效率一般可移植性就会差!
常会用
#indef XXXX
……………….
#else
…………………
#endif
条件编译是针对不同平台执行不同接口,好处就是高效。因为不同平台不同接口函数执行速度会有影响!
值得注意一点是,不同的C++编译器在支持一些高级结构或者特殊结构上是有区别的。

可移植性内存空间问题

对于可移植性代码而言,一个要特别关注的领域就是内存布局,主要指:对象的大小和排列方式、指针和地址操纵。许多C++程序员都可以把可执行程序的地址空间看作是连续的字节序列,设置为适当值的char*或void*的指针变量都可以取到这些地址。然而平台不是唯一,也存在不符合这种简单内存布局模式的平台。因此,对于依赖于这种布局模式的代码,对这些平台而言,就是不可移植性。

可移植的数据文件

主要是平台文件一次读取字节差别,有的平台支持一次可读入多字节,而有的平台只能读入一个字节,这句造成移植性差。最好的解决方案就是改写成一次只写或读一个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值