c语言是如何跨平台的?

为什么C编写的程序就能跨平台?

不好意思没分了,以后补上
我是说如何跨硬件平台的.
还有LINUX下编译的BIN文件能在WINDOWS下运行吗?

哪它是如何实现硬件跨平台的啊!

c语言能跨平台主要因为各个平台包括DOS,Windows,Linux,UNIX等都有c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能(不包括跨平台的系统调用)。但是这些二进制文件不一样,Linux中的可执行文件一般情况下都不能在Windows中运行,因为他们是两个完全不同的操作系统,有不同的内核,不同的系统调用。但编译器会根据不同的平台生成不同的代码,使二进制文件能在专有的平台中运行,并且实现相同的功能。

跨硬件平台也是类似,在各种平台上,如x86,x86_64,Sparc,ppc,Motorola等都有相应的编译器。编译器会把相同的c语言代码编译成不同的机器指令,这样就可以实现跨平台了。

总而言之,跨平台主要是靠各个平台上的编译器。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-08-13
标准C和标准C++都是源代码级跨平台的, 也就是说你用标准C/C++写的代码在windows下编译后就可以windows下运行, 在unix/linux下编译后就可以在unix/linux下运行.

跨硬件平台是靠编译器的,比如要输出一个字符,C里用printf("C");
硬件平台a用中断A输出, 硬件b用中断B输出, 那么就得有两个不同的编译器, 它们都用不同的方法实现C的功能本回答被提问者采纳
第2个回答  2007-08-10
是说如何跨硬件平台的.
还有LINUX下编译的BIN文件能在WINDOWS下运行吗?

不能

c语言为什么能跨平台或者是如何跨平台的?
c语言能跨平台是因为各个平台有相应的c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能,但是这些二进制文件本身是不一样的。exe就是2进制的,但不完全是原来程序的代码,还包括了windows系统的一些代码。科普一下,C最早是出现在Unix下的,Windows那都是后话了,C出现的时候Window...

c语言是如何跨平台的?
c语言能跨平台主要因为各个平台包括DOS,Windows,Linux,UNIX等都有c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能(不包括跨平台的系统调用)。但是这些二进制文件不一样,Linux中的可执行文件一般情况下都不能在Windows中运行,因为他们是两个完全不同的操作系统,有不同的内核,...

使用C语言开发跨平台(win\/android)应用(PainterEngine 快速入...
PainterEngine是一个基于C语言编写的开源图形游戏引擎,适用于多种操作系统和平台,包括Windows、Android、Linux、iOS以及单片机裸机环境。其设计简洁,易于学习,适合快速实现所需功能。PainterEngine的结构分为多个部分:基础算法库(Core)、模块代码库(Kernel)、功能代码库(Architecture)、平台兼容层代码库(Platfor...

C语言是不是跨平台的?
回答可以说是也不是。C的源代码是跨平台的而编译后的目标文件和可执行文件就不是跨平台的。因为针对不同的平台会用不同的编译器来编译和链接同样的源代码。当然如果你的代码里有针对某种特定平台的代码的话(比如Windows API调用),那么用针对其它平台的编译器就会出错。一般来说如果想写真正跨平台的...

C语言到底有没有跨平台性?
C语言本来就是跨平台的,不过是“源码级”跨平台。本来就是存在针对linux、windows的不同的编译器。所以有C语言“一次编写,到处编译”,Java是“一次编译,到处运行”的说法。如C++创始人酸溜溜的说法,JVM造了一个新的平台,让所有Java程序只能在这个平台上运行,而C和C++的代码可以在几十个不同的...

c#真的可以跨平台吗
从理论上说,C#是完全可以跨平台的。因为c#是借助.Net平台运行的,c#代码会被编译生成为MSIL,即微软中间语言,类似于Java的字节码,.Net是根据MSIL来执行的,而不是像C语言那样直接生成本地代码。C语言之所以无法跨平台,是因为进行与系统有关的操作的时候需要调用系统提供的函数,并编译成为本地代码,...

c语言属于什么语言
C语言是一种通用的、跨平台的计算机编程语言,它的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。以下是关于C语言的详细解释:C语言是一种面向过程的语言。它允许开发者定义变量、函数和程序流程,通过控制语句来执行特定的任务...

c语言有哪些特点
C语言是一种跨平台语言,其设计初衷是为了在各种计算机硬件平台上都能够运行。因此,C语言的可移植性非常强,编写的程序可以在不同的操作系统和硬件架构上运行,无需做太多修改。二、效率高且运行速度快 C语言是直接面向机器硬件进行编程的,它可以实现与硬件之间的紧密对接,直接控制硬件进行操作,因此在...

c语言什么意思
2. 跨平台性:C语言编写的程序可以在多种操作系统上运行,包括Windows、Linux和Unix等。这是因为C语言的编译过程会生成特定平台的机器代码,这使得它具有高度的可移植性。3. 结构化编程:C语言支持结构化编程的概念,这意味着它允许开发者使用函数、变量等来组织和控制程序流程。这使得代码更易于阅读和...

跨平台c开发库tbox:内存库使用详解
TBOX是一个C语言编写的跨平台开发库,旨在简化开发流程,提高效率。其内存管理模型借鉴了Linux内核,但进行了优化,尤其是large_pool部分,采用按页大小分配,避免了大块内存浪费。large_pool有两种模式,一种适合一般应用,另一种针对嵌入式场景,提供内存空间管理定制。large_pool内存结构设计注重减少碎片,...

相似回答