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.

[参考译文] 编译器/TMS320F28377D:

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/822435/compiler-tms320f28377d

器件型号:TMS320F28377D

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

大家好、我最近从17.9升级到了19.6、并收到了以下错误消息:

>>./source/motor/motor_current.cpp、第37行:  
内部错误:>>>注册分配失败:
平均值(std:<float, std::allocator) )


这可能是一个严重的问题。 请使用与客户支持联系
此问题的说明以及导致此问题的源文件示例
出现内部错误消息。

无法继续编译-中止!

根据此代码:

浮点平均值(std::vector V)
{float sum=0.0;
for (int i=i;<v.size();i++) 0
sum+=v[i];
return sum/v.size();

所有优化均已关闭。

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

    我可以使用包含相同函数的附加 CCS 工程来重复该故障:

    ****为项目 TMS320F28_CPP_internal_error
    
    
    
    
    
    /home/mr_halfword/workspace_v9/TMS320F28_cpp_internal_error diag 构建配置调试**/home/mr_halfword/ti/ccs910/ccs/utils/bin/gmake /home/mr_halfword/ti/ccs910/ccs/tools/compiler/ti-cgt-c2000_19.6.0.STS/include -k -j 12所有-O 构建文件:"../main.cpp"调用:C2000编译器"/home/mr_halfword/ti/ccs910/ccs/tools/compiler/ti-cgt-c2000_19.6.0.STS/bin/cl2000 -v28 -ml -mt -cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 --v28 -ml -mt -cla_support=clus_support=clus_display-cn=clus_off-gui_-trade-cn=v2=cus_display-guel_be-display-cn=v2=vbul-cn=v2=vbul-cus_trad_display-gu-guarnat_off-option-option-opt_ preproc_with_compile --preproc_dependence="main.d_rain""../main.cpp"
    
    >>编译失败
    subdir_rules.mk:7:目标'main.obj 的配方失败
    "../main.cpp",第9行(col 15):建议#2614-D:(性能)使用--fp_mode=tfp 启用硬件除法支持。
    >>./main.cpp,第9行:内部错误:>>>注册分配失败:
    平均值(std:<float, std::allocator) >)
    
    
    这可能是一个严重的问题。 请与客户支持联系、以了解
    此问题的描述以及导致此
    内部错误消息出现的源文件示例。
    
    无法继续编译-中止!
    
    gmake:***[main.obj]错误1
    gmake:目标'all'不会由于错误而重做。 

    e2e.ti.com/.../TMS320F28_5F00_cpp_5F00_internal_5F00_error.zip

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

    感谢您报告此问题。  由于 Chester Gillon 的测试案例、我能够再现这种行为。  我在 SDOWP 系统中提交了条目 CodeGen-6477以进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    谢谢、此致、

    乔治

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

    权变措施是创建一个局部变量来保存 v.size()的值,并使用该变量来代替对 v.size()的两个调用。