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

Maw*_*awg 1 ada

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

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

type null_record is null record;

for null_record use
   null;
end record;
Run Code Online (Sandbox Code Playgroud)

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

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

egi*_*lhh 6

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

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

for null_record use
record
end record;
Run Code Online (Sandbox Code Playgroud)