1
3
没有精确的方法可以做到这一点。在某些情况下,需要完全重写。在其他情况下,这可能是为不同的操作系统或处理器编译的问题。它实际上取决于应用程序、源平台和目标平台。不管怎样! |
2
1
我同意彼得的观点。
“移植”,当用非技术类型说时,通常意味着:“我想使用
技术用户的“移植”通常指将一个功能部件从一个系统移动到另一个系统。它可以是一个操作系统(OS),一个框架(例如Javato .NET),一个技术(例如Flash到JavaScript + CSS+XHTML)… 不管怎样,您都需要更多信息来提供建议/解决方案。 |
3
1
有些程序,你可能只是能够重新编译一个新的平台,没有问题。如果它是一个非常简单的程序,而不是使用任何特定于该操作系统的东西,那么您可能能够摆脱这种情况。基本上,获取源代码,将其移动到另一个操作系统,并在那里使用编译器。即使有特定的代码,您也可以在代码中使用编译时标志或常量,以使编译器以不同的方式操作。我对C++语法很生疏,但我认为这应该说明我的意思:
另一种方法是在虚拟机内运行程序,比如Java。这个虚拟机可以在不同的平台上工作,并且您的可执行文件应该能够无缝地运行在任何使用它的平台上。如果有特定于操作系统的代码,您可能需要进行一些小的更改来重新编译,但是如果您打算从一开始就进行移植,那么您可能不会担心这一点。
第三种方法是两者的结合,如果我能正确地回忆起,那就是Firefox的作用。大多数代码保持完全相同,但它使用一个基来运行,该基专门为该操作系统编译,定义不同的东西,创建特定类型的变量,例如
编译时,为基础选择正确的平台,然后使用该平台编译整个程序。 |
sid_com · 为条件OO模块加载编写包装器模块的正确方法是什么? 10 年前 |
tssch · 获取用户名的可移植方式 11 年前 |
Prof. Falken · 如何编写(可移植的)反向网络字节顺序? 11 年前 |