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.

[参考译文] MSP430F5529:旧学校(unsigned int)与(uint16_t)错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1432064/msp430f5529-old-school-unsigned-int-vs-uint16_t-errors

器件型号:MSP430F5529

工具与软件:

当从 GitHub 获取代码时、CCS 扼流圈对 unit16_t 等现代 C 类型定义进行导入

如果我将类型定义更改为旧版 unsigned int、则会进行编译。

uint8_t 或 int8_t 也是如此、= unsigned char、char

由于 CSS 是一个现代编译器、为什么它不接受现代 C 类型定义?

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

    如果您包含 stdint.h、则会这样做

    我假设您的意思是 uint16_t 不是 unit16_t

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

    因为这些类型定义位于 stdint.h 文件中

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

    我不确定你的意思是"现代",但我的第五版哈比森和 Steele 在 C99中描述了这个标题。 8^)

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

    我在1986年左右通过 K&R 书学习了 C。 1978-1982年,我的正规教育是组装和 Fortran。 C 在当时的实际使用情况并不多。

    对于年轻人来说、K&R 意味着 Kernighan 和 Ritchie、这是20世纪70年代贝尔实验室发明 C 语言的人。 开发编译器被命名为 B、但一旦错误被找出、它就变成了 C

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

    不确切地说、B 是一种基于 BCPL 的简化语言、C 添加了类型和一些其他补充。 笑话是、"C"是"B"之后的字母、C++应该被命名为"P"。