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.

[参考译文] AM263P4:AM263Px 11.0.0.19 的 MCU+ SDK 中损坏的 C 链接防护装置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1597107/am263p4-broken-c-linkage-guards-in-mcu-sdk-for-am263px-11-0-0-19

器件型号: AM263P4

在 C++工程中使用 MCU PLUS SDK 时、我注意到一些头文件损坏了 C 链接防护装置。 受影响的标头使用 #ifdef _cplusplus而不是 #ifdef __cplusplus。 因此、缺少的只是一个前导下划线 (_)。
由于_cplusplus未定义、extern "C" {...}因此缺少、因此从 C++链接到 C 对象失败。
显示模式的片段。

#ifdef _cplusplus // <- needs to be __cplusplus
extern "C" {
#endif

// C code

#ifdef _cplusplus // <- needs to be __cplusplus
}
#endif

我在以下头文件中发现该问题:

  • MCU_PLUS_SDK_am263px_11_00_00_19/source/SDL/ECC_BUS_SAFETY_V0/sdl_ecc_bus_safety.h
  • mcu_plus_sdk_am263px_11_00_00_19/source/sdl/ecc_bus_safety/V0/am263px/sdl_ecc_bus_safety_soc.h soc
  • MCU_PLUS_SDK_am263px_11_00_00_19/source/SDL/MCRC/V0/sdl_mcrc.h
  • MCU_PLUS_SDK_am263px_11_00_00_19/source/SDL/MCRC/V0/am263px/sdl_mcrc_soc.h soc

现在、我只在自己的extern "C" { ... }代码块中包含受影响的标头。

此致

Tobias Jäggi ć

 

我以前使用过

  • C++ 17
  • AM263Px 控制卡
  • 适用于 AM263Px 11.0.0.19 的 MCU+ SDK
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tobias:

    这是一个有效的错误。 非常感谢大家强调这一点。 我为此错误创建了一个内部 TT(内部跟踪链接:jira.itg.ti.com/.../MCUSDK-15129)

    此致、
    Shaunak