0

我正在做一个需要将代码从 PLM51 移植到 C 的项目。

正在使用 8051 架构。微控制器是无 romless 的,并且正在使用 64Kb 的外部存储器。PLM51 代码大小几乎为 63Kb。

所以我的问题是,当我将代码从 PLM51 移植到 C 时,代码大小会增加还是减少?决定大小增加/减少的参数是什么?

4

1 回答 1

0

首先,我必须说,虽然我用两种语言编写过,但我还没有做过从 PL/M 到 C 的移植,也没有比较用这两种语言编写的类似程序的大小。

这个问题很难确定地回答,但是这两种语言的水平相当相似,都是相当低级的可移植语言。我似乎记得我们对 PL/M 的经验法则是每个 PL/M 语句平均大约有 5 条汇编指令。这种效率会因编译器和优化级别而异。

可能对最终映像的代码大小有很大影响的一个因素是链接器可能包含的外部库。一个特别的罪魁祸首是通常非常大的 printf 格式化程序。在 PL/M 中,您通常会编写自己的字符输出函数,这些函数将根据您的特定需求进行定制,通常会产生更小的代码。

于 2015-03-05T09:43:19.503 回答