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.

[参考译文] Hercules F021FLASHAPI:由于 wchar_t、TI ARM clang 不兼容

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177301/hercules-f021flashapi-ti-arm-clang-incompatible-due-to-wchar_t

器件型号:Hercules F021FLASHAPI

我们使用 TI Arm Clang 编译器 v2.1.0.LTS 构建我们的应用软件、并尝试使用 F021库。  链接 F021库 F021_API_CortexR4_BE_V3D16.lib 会产生警告:"#16032-D 目标文件具有不兼容的 wchar_t 类型"。  由于 clang 运行时库仅支持32位的 wchar_t 长度、因此无法找到解决此问题的方法。

1.是否有使用32位 wchar_t 构建的 F021库版本?

2. 如果没有、如果我们的应用程序不在任何地方使用或声明 wchar_t 类型、则使用 F021库是否存在任何已知问题?

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

    您好、Michael、

    [引用 userid="530408" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177301/hercules-f021flashapi-ti-arm-clang-incompatible-due-to-wchar_t ]1. 是否有使用32位 wchar_t 构建的 F021库版本?

    我已检查 F021闪存 API 源代码中根本不使用"wchar_t"。  F021闪存库文件是使用 TI 的 ARM v5.1.3代码生成工具构建的。 默认情况下、TI ARM 编译器生成16位 wchar_t  无论是否使用类型、编译器都会自动将有关所有基本类型的信息添加到最终库中的列表中。

    [引用 userid="530408" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177301/hercules-f021flashapi-ti-arm-clang-incompatible-due-to-wchar_t ]2.  如果我们的应用程序不在任何地方使用或声明 wchar_t 类型、则是否存在使用 F021库的任何已知问题?

    由于在闪存库中没有引用 wchar_t 类型、客户仍然可以安全地使用该库。

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

    感谢您的回答和解释。