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.

[参考译文] stdint.h 中的 C/C++编译器 v22.6.0.1.LTS 次要拼写错误

Guru**** 2465890 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1470282/c-c-compiler-v22-6-1-lts-minor-typo-in-stdint-h

器件型号:TMS320F280039

工具与软件:

stdint.h和中 UINT16_MAX 的定义machine/_stdint.h如所示

#define UINT16_MAX 0xffff

但它们至少应该是这样

#define UINT16_MAX 0xffffU

无论如何、这会被编译器愉快地编译(并使用)。 但是、它不符合 MISRA (2012)规则7.2的规定、"u"或"U"后缀 x 应应用于所有具有的整数常量
以 unsigned 类型表示、在代码上触发违反、显然合法、如所示

uint16_t  value = UINT16_MAX;

另请注意、UINT32_MAXUINT64_MAX正确使用后缀"U"进行了处理

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

    标准头文件、例如 stdint.h 未对编译器附带的编译器进行测试或记录以构建 MISRA clean。  尽管如此、感谢您提请我们注意这一点。  我提交了一个条目来进行调查。  由于一些后台问题、我无法向您提供该条目的链接。  该条目的内部 ID 为 CodeGen-13429。

    谢谢。此致、

    -George.

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

    这些后台问题...

    由于一些后台问题、我无法向您提供该条目的链接。

    ...被解决。  请在 EXT_EP-12198上遵循该问题

    谢谢。此致、

    -George.