什么是c语言的可移植性?

Python035

什么是c语言的可移植性?,第1张

计算机领域,可移植性(portability)是指软件的能力,在不同的计算机系统、操作系统或硬件平台上运行。

C 语言是一种通用的、高级的编程语言,可以被编译成机器语言,在不同的计算机系统上运行。这种可移植性是 C 语言非常流行的原因之一。

但是,C 语言也有一些不可移植的特性,例如:

不同的计算机系统可能使用不同的字节序(即大端字节序和小端字节序)存储数据。

不同的计算机系统可能使用不同的数据类型(例如 int 和 long)表示整型数据。

为了保证 C 程序的可移植性,需要避免使用不可移植的特性,或者使用可移植的函数来代替不可移植的特性。

“偶是队长”见多识广,所言极是!!C语言的“可移植性强”是和汇编语言相比而言的。早期计算机没有统一的操作系统,程序员要直接对硬件编程,不同计算机的汇编指令集各不相同,为一个计算机编写的程序要想移植到另一台计算机上运行,要根据具体计算机的指令集进行大量修改。C语言因为可将源程序为不同计算机编译成不同的二进制程序,而无须修改C语言源程序,对于编程者来说,就是提高了可移植性。现在有了成体系的操作系统,这个档次的可移植性就没什么优势可言了。当前环境下,可移植性高的语言当属JAVA,口号是“一处编程,处处运行”,在不修改源代码的情况下,程序可以跨操作系统运行。由于JAVA的娘家SUN公司还不够强势,事实上更换到某些平台时,操作系统厂商各自为政,某些代码移植时还是要进行一点修改的,不过SUN正致力于形成更强势的标准来解决这类问题。而它的竞争对手微软公司,也正在致力于形成另一套标准来打破SUN的统一标准。欲知后事如何,且看市场分解。