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.

[参考译文] MSP430FR6989:在项目创建过程中执行变量检查

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1229640/msp430fr6989-variable-checking-during-the-project-s-build-process

器件型号:MSP430FR6989

应在 GCC 版本12的声明或编译器选项中进行什么设置、以便在编译过程中检查所有项目中的变量是使用相同类型定义的。 情况?
示例:在 main.c 中
远升;
在 А 中、my_uart_uart_functions.c 错误设置了变量
外部内部升;
编译器应该会崩溃、而不是生成输出文件

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

    ["升"和"升"是两个不同的变量。 我假设这是一个拼写错误。]

    我无法确定 GCC (适用于 MSP430)的"far"属性有何作用;SLAU646F 和 SLAA664中没有提及。  

    可能是忽略了"far"。 如果是、则这两个声明是兼容的。

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

    通常:

    1.编译器"崩溃"从来都不是个好主意。

    2.这通常是为 Lint 等工具预留的。

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

    自动更正将  浮点数升更改为 远。 。 。    示例是   

    main.c 中

    浮升;

    创建了一个新的配置文件

    外部内部升数;

    因此、 程序在运行时会出现一个问题

    您能给我更多关于林特的信息吗?  

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

    自动更正将  浮点数升更改为 远。 。 。    示例是   

    main.c 中

    浮升;

    创建了一个新的配置文件

    外部内部升数;

    因此、 程序在运行时会出现一个问题

    您能给我更多关于林特的信息吗?  

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

    自动更正将  浮点数升更改为 远。 。 。    示例是   

    main.c 中

    浮升;

    创建了一个新的配置文件

    外部内部升数;

    因此、 程序在运行时会出现一个问题

    您能给我更多关于林特的信息吗?  

    如何?

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

    编译器一次只能看到一个.c 文件、因此它无法检测到这种不匹配情况。 我建议使用一个共享的"列 气.h"文件、其中包含"extern int 列气量;"

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

    将所有的"公共"原型放在.h 文件中也是一个好主意。

    https://c-faq.com/resources/ansilint.html

    但是、如常见问题解答所述、打开 gcc 中的所有警告应具有相同的目的。

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

    警告在 gcc 中、 我启用了所有控制分析 选项、然后我解决了我的问题