跨平台修补

时间:2009-06-12 14:41:24

标签: cross-platform patch

我有一个我打算在Linux和Windows机器上安装的程序。我有交叉编译好(使用autotools),但在某些时候我希望程序能够更新其二进制文件。我能想到的唯一方法是:

  • 授予用户对“C:\ Program Files \ Foo Program”或​​“/ usr / bin / foo_program”的写入权限。

  • 将程序安装到用户的个人资料/主目录。

这些似乎都不是一个好主意。你会做什么?

2 个答案:

答案 0 :(得分:0)

您需要向我们提供有关您要执行的操作的更多详细信息 - 我不会提及跨平台,修补和您的问题之间的联系。

如果你需要能够自动更新程序,至少在Linux上,最好的解决方案是提供二进制包(rpm,deb,等等,取决于你的目标),这是定期更新的 - 所以新的包管理器将获取版本。在Windows和Mac OS x上,事物通常更分散,每个程序都有自己的更新管理器。最好的技术解决方案取决于技术(C / C ++ / python /等)。在Linux上我能想到的一个例外是vmplayer,它告诉你什么时候有新版本 - 但你仍然需要安装新版本。

答案 1 :(得分:0)

如果程序二进制文件是可写的,您可以将补丁或新位下载到%TEMP%或/ tmp,然后将它们应用于二进制文件。我认为你不需要在目录中创建新文件。但是,当您尝试修补文件时,您将在Windows上遇到问题。