使用 python 更改 C 源代码的另一种方法?
Another approach to making changes in C source code with python?
我的任务是创建一个 (python) 脚本,该脚本将禁用我们源代码中的一个功能。该代码是通过第三方配置软件生成的,通过该软件,GUI 允许更改设置以禁用此功能。这些更改需要付出努力和时间来生成,因此需要脚本。
理论上,头文件中有一堆标志(即#define thisFeature STD_ON),我可以使用脚本轻松翻转它们。
比较难的部分是源文件的改动,其中一些功能是added/removed第三方配置软件。这些在未来可能会改变,所以我需要想一个仍然可用的解决方案。我无法更改第三方应用程序的代码,因为我需要避免需要时间的生成过程。我需要进行更改,以便在构建产品时进行所需的更改并进行编译。任何建议都会很棒。
您要么引入假设,当它们失败时会变成未来的错误,要么最终重新实现 AUTOSAR 生成器。他们的要点是允许在静态代码和生成代码组合的供应商的完全控制下实现配置的系统。
无论哪种方式,当您需要更新提供的组件时,您都会比使用交付的组件遇到更多麻烦。
所以恐怕答案是"There is none."(即别无选择)。
你可以对你的系统做出假设,并在这些假设内创造一些东西来实现你的短期目标。
但从长远来看,无论谁决定在你的项目中使用 AUTOSAR,都是因为当你绕过官方生成器时失败的原因。
所以迟早,你现在付出的努力会付诸东流,最终造成的伤害可能会超过你短期内收获的收益。
我的任务是创建一个 (python) 脚本,该脚本将禁用我们源代码中的一个功能。该代码是通过第三方配置软件生成的,通过该软件,GUI 允许更改设置以禁用此功能。这些更改需要付出努力和时间来生成,因此需要脚本。 理论上,头文件中有一堆标志(即#define thisFeature STD_ON),我可以使用脚本轻松翻转它们。
比较难的部分是源文件的改动,其中一些功能是added/removed第三方配置软件。这些在未来可能会改变,所以我需要想一个仍然可用的解决方案。我无法更改第三方应用程序的代码,因为我需要避免需要时间的生成过程。我需要进行更改,以便在构建产品时进行所需的更改并进行编译。任何建议都会很棒。
您要么引入假设,当它们失败时会变成未来的错误,要么最终重新实现 AUTOSAR 生成器。他们的要点是允许在静态代码和生成代码组合的供应商的完全控制下实现配置的系统。
无论哪种方式,当您需要更新提供的组件时,您都会比使用交付的组件遇到更多麻烦。
所以恐怕答案是"There is none."(即别无选择)。
你可以对你的系统做出假设,并在这些假设内创造一些东西来实现你的短期目标。
但从长远来看,无论谁决定在你的项目中使用 AUTOSAR,都是因为当你绕过官方生成器时失败的原因。
所以迟早,你现在付出的努力会付诸东流,最终造成的伤害可能会超过你短期内收获的收益。