我目前正在修改为UNIX系统编写的C ++代码,以便可以通过从Visual Studio进行编译来工作。我必须更改一些内置函数的名称,并且必须更改动态数组的定义方式。
我的问题是,我可以说是将代码从UNIX“移植”到Windows / Visual Studio,还是仅在从一种编程语言更改为另一种编程语言(从C ++移植到Java)时才使用“移植”?
我目前正在修改为UNIX系统编写的C ++代码,以便可以通过从Visual Studio进行编译来工作。我必须更改一些内置函数的名称,并且必须更改动态数组的定义方式。
我的问题是,我可以说是将代码从UNIX“移植”到Windows / Visual Studio,还是仅在从一种编程语言更改为另一种编程语言(从C ++移植到Java)时才使用“移植”?
Answers:
根据Wikipedia和我个人的经验,术语“移植”是指使软件在最初不打算用于的平台上运行。此过程有时需要更改语言,但并非总是如此。
该术语通常不适用于使软件在同一CPU和操作系统上以较少的内存运行的过程,也不适用于用不同语言(即语言转换或翻译)重写源代码。
当人们说Java程序更具“可移植性”时,它们意味着花费较少的额外工作就能使其与各种不同的机器和操作系统兼容。
一个可以在操作系统之间移植软件。一个可以在处理器体系结构之间移植软件。在处理重大平台更改时(苹果的PPC-> x86交换机,或Windows XP-> Windows Vista / 7/8),可能需要执行一些我通常与“移植”相关的活动。我不会认为切换编程语言是“移植”。更像是完全重写。
我已经将软件从Linux移植到Windows,反之亦然。我已经将软件从SPARC移植到x86(我只是喜欢处理endian问题),并且从32位移植到64位。这些天来,我正在用Java编程...我不确定在Javaland中“ porting”一词是否有很多含义,也许在主要的JVM版本之间....
随着发行商希望涵盖尽可能多的平台(PC,Xbox,Playstation等),移植在游戏开发中变得越来越受欢迎。如前所述,移植意味着转换原始程序,以使其在完全不同的系统中工作。通常,游戏制造商会将主机游戏转换为PC。