"for XXX use"子句对空记录有意义吗?



我的任务是为我们所有的记录类型添加表示(rep)子句,这些子句将以消息的形式发送到另一个处理器。它是一种不同的CPU制造商,编译器和编程语言,因此存在错位/误解的危险。

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

type null_record is null record;呢?

for null_record use
null;
end record;

不编译,似乎没有意义。

老板正在推动 100% 代表条款,包括'size'alignment'Object_sizeValue_sizepragma pack,但这肯定对空记录没有意义吗?

如果record representation clause强制所有组件component clause,那将是有意义的。在这种情况下,编译器会检测到对record definition的任何更改,从而迫使您也查看representation clause当然,事实并非如此,所以你是对的,这没有多大意义。

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

for null_record use
record
end record;

最新更新