This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] C2000-CGT:关于#552-D 变量的警告未设置、但从未使用

Guru**** 1807890 points
Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1387850/c2000-cgt-about-warning-of-552-d-variable-was-not-set-but-never-used

器件型号:C2000-CGT
Thread 中讨论的其他器件:C2000WARE

工具与软件:

你(们)好

我的客户发现异常的警告。

我们使用 TI 的编译器 v22.6.0.1.LTS。

在定制项目(在 C2000ware 5.0x.00.00和 TIDM_1001示例项目上 Besed)中、设置了#552-D 变量"msgCtrl"的警告、但从未使用 can.c。

因此、我尝试 coment-out msgctrl 的声明。

但是、在注释输出后、会出现 #20标识符"msgCtrl"是未定义的 can.c

它是令人难以置信的,首先说"它从来没有使用",但它被使用!

该编译器错误吗?

我可以在原发聊天中发送 CCS 项目、请回复评论(我会申请第一个)

谢谢!

Gr

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这里没有什么可笑的。

    "设置但从未使用"警告表明您正在为变量赋值、但没有其他代码引用。  它是无效代码警告。 您应该删除无效代码。 在该示例中、x 已设置但从未使用、因此 x 没有任何用途。

    int x;
    
    int main(void)
    {
    
      x = 2;
    
    }

    要删除所有警告、请删除第1行和第6行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kier:

    感谢您提供的信息。

    我了解错误的细节。

    但是、在我客户的代码中、 msgctrl 用于 if ()的判断条件。

    所以我无法解释/理解为什么存在这种环境。

    最棒的餐厅

    Gr

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、在我的客户代码中、 msgCtrl 用于 if ()的判断条件。

    好的、但是没有提到这是您的 OP。

    我想只有 TI 能为您提供帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您分配了一个值而从不读取变量、则可能会发生这种情况。 我想在某些情况下你可以阅读它、但编译器无法理解它。

    我认为、如果您将其初始化为某个值、然后在读取之前在代码中对其进行设置、这也会使初始化无用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好!

    感谢您提供信息。

    在我的 reserch 中、某些读取 msgCtrl 的函数是用于调试的。
    状态为"不用于调试"、它不是通过预编译器读取变量。

    此致、

    Gr