gpt4 book ai didi

namespaces - 在VxWorks中多次实例化程序时如何解决命名冲突

转载 作者:行者123 更新时间:2023-12-04 17:00:54 24 4
gpt4 key购买 nike

我需要在 VxWorks 中运行一个 C 程序的多个实例(VxWorks 有一个全局命名空间)。问题在于 C 程序定义了在全局命名空间中冲突的全局变量(旨在供该程序的特定实例使用)。我想对程序进行最小的更改以使其工作。欢迎所有想法!

问候

顺便说一句......现在不是提到全局变量不是最佳实践的好时机!

最佳答案

最简单的方法是使用任务变量(参见 taskVarLib 文档)。

使用任务变量时,该变量现在在上下文中特定于任务。在上下文切换时,存储当前变量并加载新任务的变量。

需要注意的是,任务变量只能是 32 位数字。
每个全局变量也必须独立添加(通过它自己对 taskVarAdd 的调用?)并且它还增加了上下文切换的时间。

此外,您将无法与其他任务共享全局变量。
您不能将任务变量与 ISR 一起使用。

关于namespaces - 在VxWorks中多次实例化程序时如何解决命名冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/428158/

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