“移植”一词到底是什么意思?


0

“移植”一词到底是什么意思,它是否非常具体?

例如 :

如果某个软件可用于一个操作系统,但不适用于另一个操作系统,则开发人员可能会“移植”该软件,以使其在另一个操作系统上运行。


这缺乏背景。您所说的“非常具体的东西”是什么意思?
雷南

具体用于单个目的还是出于某种原因?
西蒙(Simon)

Answers:


1

移植是适配软件的过程,以便它可以在新的计算机平台上运行(例如,不同的处理器或不同的操作系统)。

一个示例情况是移植仅Windows程序以在Linux或Mac上运行。当今大多数软件被设计为可在不同平台之间轻松移植(例如,使用随处可见的库)。

只要他们具有可用的源代码,就可以由软件开发人员或其他开发人员来完成(不包括诸如反向工程之类的可疑方式-从严格意义上讲,可能不是移植)。


因此,将其移植到Mac的人与开发Windows版本的人不同吗?
西蒙(Simon)

@Simon可能是原始开发人员/开发公司,也可能是有权访问源代码的其他开发人员。
雷南

如果是其他开发商,是否需要征求原始开发商的许可?
西蒙(Simon)

1
没有那么多; 移植IS会为其他OS(相对于仿真)生成一个版本。
雷南

1
是的,您需要许可;但是在绝大多数开源软件中,您实际上不需要“询问”它-它是作为许可证的一部分授予您的。
ckhan 2012年

4

通常,它的意思是“使程序在与最初编写的环境不同的环境中工作”(有时甚至用另一种语言重写)。

例子:

  • …将iPhone应用程序移植到Android;
  • …将Java程序移植到Python;
  • …将Wii游戏移植到Xbox;
  • …将仅Windows程序移植到Linux;

可能源自“便携式”:可以使程序在不同系统上工作而无需付出很大努力的程序;一种不依赖于操作系统特定的功能(或一种明确区分使用此类功能的功能)。有关此术语的示例,请参见C程序和UNIX系统的可移植性

相关术语“反向移植”:使程序或功能在比其最初编写的版本更旧的系统中工作。


这是我的理解。我只是在移植Windows软件以便在Apple Mac上运行的情况下才听说过它。
西蒙(Simon)

1

通常,移植是转移或过渡。这可能意味着从一个系统迁移到另一个系统,或者可能正在使用现有软件(即Android App)并使该软件在另一个平台上运行(即:使Android App在iOS上运行)。

这个回答你的问题吗?


1

它通常是指更改源代码并为已经为一台机器或操作系统设置的现有软件制作文件,以便您可以为其他机器或操作系统构建版本。它通常不只是重新编译。


它是由原始开发人员以外的其他人员完成的吗?
西蒙(Simon)

无论是。有时是由原始开发人员完成的(例如,当我于1992年将我的Hamilton C shell从OS / 2移植到Windows NT时),有时是由其他开发人员完成的(尤其是在开源世界中)。任何形式的移植活动的结果的质量通常取决于新机器或OS与当前机器的相似程度,以及取决于您愿意从事的工作量,包括愿意改变用户的工作量。适应新环境的经验。如果您愿意重写足够的代码,则可以获得所需的任何东西。
妮可·汉密尔顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.