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.

[参考译文] 编译器/AWR1642:混合 C/C++源文件、编译器标志、过多的模板递归和 TRIG Transcendentals

Guru**** 2616675 points

Other Parts Discussed in Thread: AWR1642

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/652836/compiler-awr1642-mixed-c-c-source-files-compiler-flags-excessive-template-recursion-and-trig-transcendentals

器件型号:AWR1642

工具/软件:TI C/C++编译器

嗨、大家好、Gals、

我在 AWR1642的 C674x 侧进行开发、我需要大量基于 TRIG 超越函数的常数。 在我的第一轮测试中、编译器似乎没有简化我通常期望从编译器中获得的 TRIG 常量。

作为回应、我开始使用一些模板函数、这些函数应提供足够好的近似值(Taylor Series of depth 8-10)、但是、当我递归到数组时、我似乎达到了512深度限值。 我已经看到一些标记的帖子、例如 --pending_instantiations=0和 --static_template_instantiation、这应该足够了。 但是、当我添加这些标志时、我遇到了一个问题、即构成项目大部分的 C 源文件拒绝编译。

是否有办法指定我的 C++文件使用--pending_instantiations=0或--static_template_instantiation 标志,然后链接到我的 C 文件的其余部分?

我目前使用的是 Code Composer Studio 版本:7.3.0.00019

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

    [引用用户="Alex Shirley"]但是,当我添加这些标志时,我遇到了一个问题,即构成我项目大部分内容的 C 源文件拒绝编译。

    如果您在发生这种情况时能够显示您所看到的诊断、我将不胜感激。

    [引用 USER="Alex Shirley"]是否有方法可以指定我的 C++文件使用--pending_instantiations=0或--static_template_instantiation 标志,然后链接到我的 C 文件的其余部分?

    请尝试此操作。  从常规工程设置中删除--pending_instantiations 和--static_template_instantiations 选项。  然后使用 "特定于文件的选项 "仅将这些选项添加回 C++文件中。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的 C 文件的编译器错误如下所示:
    命令行错误#985:挂起实例选项只能在编译 C++时使用
    此编译中检测到1个灾难性错误。
    编译已终止。
    gmake[1]:***[radar_proc.oe674]错误1.

    删除标记并为单个文件进行设置是完美的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Alex Shirley 说:
    命令行错误#985:挂起实例选项只能在编译 C++时使用

    这很烦人。  因此、我在 SDOWP 系统中提交了 CodeGen-4182。  此条目不报告错误、但请求更改编译器。  编译 C 文件时、应忽略选项--pending_instantiations。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    谢谢、此致、

    乔治