“用于XXX使用”子句是否对空记录有意义?

时间:2019-11-12 06:39:18

标签: ada

我已经为所有记录类型添加了表示形式(rep)子句,这些子句将通过消息发送到另一个处理器。这是另一种CPU制造商,编译器和编程语言,因此存在未对齐/错误解释的危险。

很显然,type XXX is record要求for XXX use的每个字段都具有适当的字节和位数据。

type null_record is null record;呢?

for null_record use
   null;
end record;

不编译,似乎没有任何意义。

老板正在争取使用'size'alignment 'Object_sizeValue_sizepragma pack的100%rep子句,但是对于空记录吗?

1 个答案:

答案 0 :(得分:6)

对于所有组件,如果record representation clause强制component clause,则是有意义的。在那种情况下,编译器将检测到record definition的任何更改,因此也迫使您查看representation clause当然不是这样,所以您是对的,没有太大意义。

但是,如果老板真的坚持,正确的语法是:

for null_record use
record
end record;