通过 -vo14 选项,可以处理与 VO 兼容的浮点字面量
-vo14[+|-]
+ | - | 指定 + 或 -vo14,可让编译器将浮点字面数字(例如:123.456)视为 FLOAT 数据类型,而不是默认的 REAL8 (System.Double)。 |
启用该选项后,编译器会将浮点字面量视为 FLOAT 值,以便与现有的 Visual Objects 代码兼容。该选项在运输项目中默认启用。
对于新代码,强烈建议不要启用此编译器选项,因为它生成的代码效率较低。例如,以下代码
LOCAL r := 3.0 AS REAL8
r := r * 4.5 + r + 5.5
如果启用了 -vo14,编译器会将 "1.0"、"1.5 "和 "2.5 "值视为 FLOAT 类型的数字,从而导致整个计算以 FLOAT 值为基础,最后将结果转换为 REAL8,然后存储到局部变量中。FLOAT 是运行时定义的一种特殊数据类型,比直接映射到(数学)处理器注册表的 REAL8(System.Decimal)数据类型慢得多。禁用 -vo14 选项会使上述代码的执行速度快一大截。
请注意,通过使用后缀 "d "或 "s"(如 123.456d 和 123.456s),REAL8 或 REAL4 数据类型将在字面数字上执行,无论启用或禁用 -vo14 选项。有关更多信息,请参阅 "字面量"。
要在 Visual Studio 开发环境中设置该编译器选项,请执行以下操作
1.打开项目的 "属性"页面
2.点击 Dialect 选项卡
3.更改值
4.查看属性页