面向项目(四)—— 可移植性的考虑
来源:互联网 发布:查电话号码软件 编辑:程序博客网 时间:2024/04/30 01:48
C 语言与平台和编译器密不可分。
考虑这样一个编程细节,我们常用的不带 signed 和 unsigned 关键字的 char 型是无符号数还是有符号数呢?C 标准规定这是 Implementation Defined,也即编译器可以定义 char 型是无符号的,也可以定义 char 型是有符号的。在该编译器所对应的体系结构上哪种实现效率最高就可以采用哪种,x86 平台的 gcc 定义 char 型是有符号的。
这也是 C 标准的 Rationale 之一:优先考虑效率,而可移植性尚在其次。
这就要求程序员必须非常清楚这些规则,如果你要写可移植的代码,就必须清楚哪些写法是不可移植的,应该避免使用。另一方面,写不可移植的代码有时却是必须的,比如 Linux 内核使用了很多只有 gcc 支持的语法特性以得到最佳的执行效率,在写这些代码时就没打算用别的编译器编译,也就没考虑可移植性的问题。
0 0
- 面向项目(四)—— 可移植性的考虑
- 软件设计中的可移植性的考虑
- 系统之间接口的可移植性考虑
- Linux驱动移植(一)——移植考虑的出发点
- 14、可移植考虑的类型定义 特别BOOL
- .NET项目开发—浅谈面向接口编程、可测试性、单元测试、迭代重构(项目小结)
- Djyos的可移植性(转载)
- Djyos的可移植性(转载)
- Java 的可移植性
- linux的可移植性
- Linux驱动移植(四)——Linux内核移植
- fl2440内核移植(四)——DM9000移植
- 什么是面向对象的JavaScript(四)——多态
- Linux 可移植性(软件可移植)
- [转]可考虑在你下一个项目中使用的 50 个 Bootstrap 插件
- 程序的可移植性——字长/不透明数据/数据对齐/大小端
- 编写POSIX可移植C程序的一些经验总结(1)——整型类型
- 《GOF设计模式》—桥接(BRIDGE)—Delphi源码示例:可移植的用户界面
- mongodb (1)
- 二分法变种
- nyoj 8 一种排序(sort运用)
- u-boot移植4:支持 网络
- viewcontroller
- 面向项目(四)—— 可移植性的考虑
- Pandas——ix vs loc vs iloc区别
- 图片选择器
- Reset
- 数据结构--绪论自测题
- SQLserver 存储过程执行错误记录到表
- python发邮件
- 第9周项目2-我的数组类
- HDU 1429 胜利大逃亡(续)