C语言是跨平台的么?如果是 那么C语言的跨平台特性和java的跨平台特性有什么不同?

如题所述

标准C和标准C++都是源代码级跨平台的, 也就是说你用标准C/C++写的代码在windows下编译后就可以windows下运行, 在unix/linux下编译后就可以在unix/linux下运行.c语言能跨平台主要因为各个平台包括DOS,Windows,Linux,UNIX等都有c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能(不包括跨平台的系统调用)。但是这些二进制文件不一样,Linux中的可执行文件一般情况下都不能在Windows中运行,因为他们是两个完全不同的操作系统,有不同的内核,不同的系统调用。但编译器会根据不同的平台生成不同的代码,使二进制文件能在专有的平台中运行,并且实现相同的功能。
总之,C的源代码是跨平台的而编译后的目标文件和可执行文件就不是跨平台的,跨平台主要是靠各个平台上的编译器。

在使用汇编语言的时代里,每个厂家都有一套自己的汇编语言,那时计算机程序与机器绑定,不是同一个厂家的程序在其他厂家的平台下就不能运行。直到C语言出现以后,我们才能将X86平台下的C语言程序源文件,换到POWER平台编译以后直接运行。因此C的跨平台移植功能是指在硬件架构上的移植性。 JAVA的跨平台能力是指其不需要指定操作系统可以直接运行。

C语言“一次编写,到处编译”,Java是“一次编译,到处运行”。
如C++创始人酸溜溜的说法,JVM造了一个新的平台,让所有Java程序只能在这个平台上运行,而C和C++的代码可以在几十个不同的平台上运行,从这个角度而言,C和C++是跨平台的,而Java不是。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-27
java是一门高级编程语言。比较脱离硬件。如果你不了解程序语言的话,你就记住java
最大的特点就是跨平台。只要安装了类似游戏的虚拟机的jdk程序哪种环境都能运行。不管是
手机还是电脑还是什么,只要有芯片,能装jdk就能运行。
java应用很广泛的不是java才有类C#也有。
java也不是只有jsp。jsp只是开发网站用的。
这么说吧,只要现在能实现的程序,java几乎都能做。
如果真的有兴趣建议学一些程序基础再看java,要不怎么说都迷糊,尤其名词一大堆,
能直接把你砸迷糊。追问

所答非所问

本回答被网友采纳
相似回答