如何在 Dymola 2019 FD01 中为 Visual Studio 编译器使用编译器标志

How to utilize compiler flags in Dymola 2019 FD01 for Visual Studio Compiler

我正在探索利用编译器标志来提高 Dymola 2019 FD01 中编译代码的速度。我开始于:

Advanced.Define.GlobalOptimizations=2;

相当于 /Og 并且模型速度提高了 100%!

我正在研究如何使用如下所示的 "Custom options" 组 a 为 visual studio 设置一些其他标志,但它们似乎没有做任何事情。我什至尝试了 "Visual Studio Custom" 选项和标志,模型速度与未优化的代码相同。在编译器部分设置 /Og 似乎与 GlobalOptimizations 标志的作用不同。

如果有人能阐明在 Dymola 中设置编译器标志的正确方法,我将不胜感激。

默认 Advanced.Define.GlobalOptimizations=0; 关闭全局优化 - 这就是为什么您需要设置 Advanced.Define.GlobalOptimizations=2; 或使用自定义选项启用它并设置 Advanced.Define.GlobalOptimizations=1;.

全局优化的缺点是编译时间可能会大幅增加,这就是为什么它默认关闭的原因。

Link-time 代码生成(编译器选项 /GL 和链接器选项 /LTCG)实际上对 dymosim 没有影响,因为整个模型代码都在一个模块中 - 因此已经可用于优化器。 (由于编译器的限制,有多个用于其他事情的模块。)