我需要创建一定数量的结构 类型对,它们将进一步用作const参数,并且具有基本相同的一组值,但按比例缩放,如下所示(给定一个 n常数):
TYPE ADDR_1 :
STRUCT
PARAMETER_A: INT :=0;
PARAMETER_B: INT :=2;
PARAMETER_C: INT :=4;
- - -
PARAMETER_n: INT :=n; (* being n any number *)
END_STRUCT
END_TYPE
以及相关对:
TYPE ADDR_2 :
STRUCT
PARAMETER_X: INT :=0/2;
PARAMETER_Y: INT :=2/2;
PARAMETER_Z: INT :=4/2;
- - -
PARAMETER_n/2: INT :=n/2; (* being n any number *)
END_STRUCT
END_TYPE
通过分别创建这两个结构,它工作得很好,我使用它们来创建一个CONST数组以在SWITCH...CASE语句中使用 - 正如我们所熟知的那样,它只在其索引处接受常量,而不是变量。
然而,在一个结构中所做的每一项更改都必须在另一个结构中重构,这在“最佳实践”设计方面确实不是一种安全的方法。
我现在面临的问题是,如果我在全局变量列表 (GVL) 中创建CONST值,它在编译时间线中没有优先级,我的意思是,首先评估结构。
另一种选择是使用Pragmas,但它仅在特定范围内有效,这意味着它不会充当“全局参数”。
我只是想在编译之前定义上面的每个参数,这样我就可以定义一次,将一个除以 2。