为什么“C语言具有可移植性”?
为什么“C语言具有可移植性”?
"Any problem in computer science can be solved with another layer of indirection"
- C语言的设计特性使然,例如其I/O不依赖于特定平台,而是依赖于stdio.h,而库在不同平台上可以有不同实现。这就是C语言对硬件平台加一层抽象层带来的好处;
- C语言简单,编译器实现不复杂;
- 标准化后的ANSI C杜绝了各种C"方言",保护了C的通用与可移植性;
- Unix与C相辅相成,形成了庞大的软件生态。