可移植C编译器(英语:Portable C Compiler),也被称为pcc,或pccm(portable C compiler machine),一种早期的C语言编译器,由史蒂芬·强生于1970年代中期,在贝尔实验室写作。
简介可移植C编译器被使用在Version 7 Unix上,跟着它一同发布。一直到1994年4.4BSD发表时,它都是BSDUNIX系统上的默认C语言编译器,一直到被gcc取代为止。在1980年代,它是非常具有影响力的C语言编译器典范,主要的C语言编译器都是在它的基础上继续开发而成。2007年,Anders Magnusson与 Peter A Jonsson重新开发了pcc,让它也可以适用于C99标准。1
功能由丹尼斯·里奇创作的第一个C语言编译器,采用递归下降解析器(Recursive descent parser),基于PDP-11平台特色而产生。为了使它产生的汇编语言程序最优化,它利用这个特定平台的优化器来进行。在设计上是与机器相关的。
pcc基于yacc之上,只有少部分代码是与机器相关的,具备可移植性。1
编译器编译器(compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
它主要的目的是将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序,也就是可执行文件。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。2
软件可移植性在软件工程中,可移植性(英语:Portability),又译为移植性、可携性,是指使用高阶语言写成的软件,在不同环境下,是否具备可以被重复使用的性质。一般来说,软件是否具备可移植性的衡量标准,在于进行软件移植时,需要付出多少工时为代价。具备高可移植性的软件,在移植到不同系统平台时,并不需要做太多事情,因此能够减少软件开发及布署时的成本。为了使软件具备高度可移植性,程序员需要使应用程序界面抽象化以及模组化。
以低阶语言,例如汇编语言,写成的软件,一般来说,其可移植性都较低。2
本词条内容贡献者为:
李岳阳 - 副教授 - 江南大学