"for XXX use" 子句对空记录有意义吗?
Does a "for XXX use" clause make any sense for a null record?
我的任务是为我们所有的记录类型添加表示 (rep) 子句,这些子句将在消息中发送到另一个处理器。它是不同的 CPU 制造商、编译器和编程语言,因此存在 misalignment/misinterpretation.
的危险
显然,type XXX is record
需要 for XXX use
每个字段都有适当的字节和位数据。
那type null_record is null record;
呢?
for null_record use
null;
end record;
无法编译并且似乎没有任何意义。
老板正在推动 100% 代表条款,有 'size
、'alignment
'Object_size
、Value_size
和 pragma pack
,但肯定不会对空记录有意义吗?
如果 record representation clause
对所有组件强制使用 component clause
就有意义了。在那种情况下,编译器会检测到 record definition
的任何更改,从而迫使您也查看 representation clause
。 当然不是这样的,所以你说得对,没有多大意义。
但是,如果你的老板真的坚持,正确的语法是:
for null_record use
record
end record;
我的任务是为我们所有的记录类型添加表示 (rep) 子句,这些子句将在消息中发送到另一个处理器。它是不同的 CPU 制造商、编译器和编程语言,因此存在 misalignment/misinterpretation.
的危险显然,type XXX is record
需要 for XXX use
每个字段都有适当的字节和位数据。
那type null_record is null record;
呢?
for null_record use
null;
end record;
无法编译并且似乎没有任何意义。
老板正在推动 100% 代表条款,有 'size
、'alignment
'Object_size
、Value_size
和 pragma pack
,但肯定不会对空记录有意义吗?
如果 record representation clause
对所有组件强制使用 component clause
就有意义了。在那种情况下,编译器会检测到 record definition
的任何更改,从而迫使您也查看 representation clause
。 当然不是这样的,所以你说得对,没有多大意义。
但是,如果你的老板真的坚持,正确的语法是:
for null_record use
record
end record;