gpt4 book ai didi

c - 如何使用较新版本升级/更新 C 应用程序

转载 作者:行者123 更新时间:2023-11-30 14:27:08 26 4
gpt4 key购买 nike

我的应用程序是用 C 语言编写的。我必须在我的应用程序中添加一个功能,以便它能够根据最新版本进行 self 升级。更具体地说,它应该识别是否找到任何新版本并使用该新版本进行更新(根据新的可执行文件)。可能存在数据库架构在新版本中发生更改等情况。那么我可以在我的代码中提供什么规定,以便它可以识别新的可执行文件并据此进行 self 升级?

平台:linux、gcc编译器

最佳答案

因此,您可以按照上面@Joachim 和@awoodland 的建议更新您的二进制文件。虽然两者都是有效的,但我会谨慎行事,简单地让你的包管理工具来完成这些麻烦的工作。原因是安全,更重要的是解决依赖关系。不幸的是,这需要您维护软件包,但考虑到您可能可以使用 deb 文件和 rpm 文件并覆盖绝大多数内容,这没什么大不了的。

在数据库升级方面,创建一个备份数据库的 SQL 脚本和一个(或一系列)数据库来更新它(添加适当的字段等)

让您的脚本创建一个数据库版本表,其中包含版本号、升级日期和时间、执行升级的软件修订号以及升级是否成功(您认为有用的任何内容。还要确保它插入每次升级时都会将其添加到版本表中。

当您启动二进制程序时,让它根据预期的数据库版本检查最大版本号,以确保二进制文件与数据库版本兼容,否则进行升级。

进一步扩展此功能,您可以通过循环一组升级脚本来在截然不同的版本之间进行升级。如果您想让它们免受窥探,您应该将它们保留为嵌入式资源,但这应该可以解决您的问题。

希望这有帮助,我还没喝咖啡,但它可能会指出一个解决方案。更进一步,您还可以创建一个升级日志表来记录升级的进行情况以及是否遇到任何问题,以帮助解决那些希望永远不会发生的情况。

关于c - 如何使用较新版本升级/更新 C 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com