问题描述
我目前正在尝试在Dymola中编译Modelica程序。我遇到了一个问题,即编译器空间不足(严重错误C1060),数组的总大小不能超过0x7fffffff字节(错误C2148),并警告C4307:'*':有符号整数常量溢出。 >
我尝试将编译器标志设置为/ Zm,以增加编译时的内存分配,以及设置Advanced.CompileWith64 = 2。到目前为止,我在编译程序方面都没有成功,任何建议都将不胜感激。
我访问过的一些网站可能会有所帮助:
https://www.claytex.com/blog/dymola-compilation-process/?fbclid=IwAR2_GM6Hrj
https://www.claytex.com/blog/stepping-through-dymosim-exe/
解决方法
对我来说,有两种可能的解释:
- 您使用C源代码中包含的一张大表。最好的解决方案是将表放在外部(使用Modelica.Blocks.Tables.CombiTable *或类似方法),并可能进行64位编译(以使其适合地址空间)。
- 翻译中出现错误,数组不应该那么大,在这种情况下,没有模型就很难说更多。