【C语言】C 语言我们称之为可移植性强,并不能跨平台,为什么呢?

一、强大的移植性

机器语言和汇编语言都不具有移植性,为 x86 开发的程序,不可能在Alpha,SPARC 和 ARM 等机器上运行
  而 C 语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的 C 语言编译器和库,然后将 C 源代码编译、连接成目标二进制文件之后即可运行

二、c语言为毛不能跨平台?

跨平台指的像Java编写的任何代码,无序修改即可在任何一个平台上运行,所以称之为跨平台语言。

我们所讲的 C 标准,当然可以通过不同的编译器编译后在任何一台平台上运行,但是 C 标准除了文件操作之外,是没有涉及到操作系统硬件资源的接口的,比如进程调度,网络通信等这些接口均为每一个操作系统独有的,windows与 Linux 这些接口有差异,一旦你的 C 程序中使用了这些接口,代码放到另外一个平台就无法编译通过了

那是不是 C 不如 Java 呢,其实不是,Windows 操作系统本身用 C 和 C++开发(少量汇编),Linux 全部用 C 开发(少量汇编),C 语言的执行效率一直是高级语言中的第一!另外 Java 及其他脚本语言中没有指针,无法访问物理地址,所以系统中的驱动都需要用 C或 C++进行编写。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值