C++ 无法编译Modelica程序,因为已达到数组的最大内存分配(编译器的堆空间不足)

C++ 无法编译Modelica程序,因为已达到数组的最大内存分配(编译器的堆空间不足),c++,compiler-errors,modelica,dymola,C++,Compiler Errors,Modelica,Dymola,我目前正在尝试用Dymola编译Modelica程序。我一直遇到这样的问题:编译器的堆空间不足(致命错误C1060),数组的总大小不能超过0x7fffffff字节(错误C2148),警告C4307:“*”:有符号整数常量溢出 我尝试将编译器标志设置为/Zm,以增加编译时的内存分配,并将Advanced.CompileWith64设置为2。到目前为止,我还没有成功地编译我的程序,任何建议将不胜感激 以下是我访问过的一些网站,可能会有所帮助: 对我来说,有两种可能的解释: 您使用的是C源代码中

我目前正在尝试用Dymola编译Modelica程序。我一直遇到这样的问题:编译器的堆空间不足(致命错误C1060),数组的总大小不能超过0x7fffffff字节(错误C2148),警告C4307:“*”:有符号整数常量溢出

我尝试将编译器标志设置为/Zm,以增加编译时的内存分配,并将Advanced.CompileWith64设置为2。到目前为止,我还没有成功地编译我的程序,任何建议将不胜感激

以下是我访问过的一些网站,可能会有所帮助:


对我来说,有两种可能的解释:

  • 您使用的是C源代码中包含的一个大表。最好的解决方案是将表放在外部(使用Modelica.Blocks.Tables.CombiTable*或类似方法),可能进行64位编译(以便它适合地址空间)
  • 翻译中出现了一些错误,数组不应该那么大,在这种情况下,如果没有模型,很难说得更多

阵列的总大小不得超过0x7fffffff字节
您有多大的阵列?您有示例模型吗?如果您使用正常的支持渠道,可能会更简单,因为他们应该能够处理机密模型。