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.

[参考译文] 编译器:结构中未初始化的局部变量不会抛出警告。

Guru**** 2595805 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/625575/compiler-uninitialized-local-variables-in-a-structure-do-not-throw-warning

工具/软件:TI C/C++编译器

大家好,

我最近观察到一个关于未初始化的局部变量的问题。 每当声明了局部变量并且在未初始化的情况下使用时,编译器都会抛出警告“#551-D Variable“xx is used before its value is set”(在设置其值之前使用变量“xx”)。 对于结构,不会报告相同的情况。 如果结构的某些元素已初始化,而某些元素未初始化,则编译器不会发出任何警告。  

我在编译器ARM_ARM.2.STS 15.12 和5.2 .5上观察到这一点。

如果您同意,请检查并告知我们。

谢谢,此致,

Vishwanath Reddy。

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

    以上电子邮件中的更正。 编译器版本为15.12 .2.LTS
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    还有一个更正:我们将结构作为一个功能参数传递。 被调用的函数使用未初始化的结构元素。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们将结构作为函数的参数传递。 被调用的函数使用未初始化的结构元素。[/QUOT]

    遗憾的是,这超出了TI编译器执行的静态分析的能力。  在Web上搜索静态代码分析一词时,会显示有关此主题的许多其他文章和工具。  也许其中一种工具可以执行此分析。

    谢谢,此致,

    -George