Ada- 'at' 和 'range' 是什么意思/做什么?
Ada- what do 'at' and 'range' mean/ do?
我正在调试一些分两部分编写的软件——一部分用 C++ 编写,另一部分用 Ada 编写——这是我以前从未使用过的。
在阅读一些 Ada 代码并寻找包含特定数据的变量时,我发现这些变量在 for
循环中的 record
中使用,例如:
for myRecord use
record
eta at 8 range 0 .. 31;
ttg at 16 range 0 .. 63;
end record;
at
和 range
在 IDE (GPS-GNAT Programming Studio) 中以粗体显示,我认为这意味着它们是关键字/在Ada...有人可以向我解释这个结构是什么/做什么吗?这里的数字是否与分配给变量的内存量/它们的内存位置有关?
eta
从记录开始的字节偏移量 8 的第 0 位开始,并继续到第 31 位;即它从字节 8 开始占用 32 位。
同理,ttg
占用64位,从字节16的第0位开始。
我正在调试一些分两部分编写的软件——一部分用 C++ 编写,另一部分用 Ada 编写——这是我以前从未使用过的。
在阅读一些 Ada 代码并寻找包含特定数据的变量时,我发现这些变量在 for
循环中的 record
中使用,例如:
for myRecord use
record
eta at 8 range 0 .. 31;
ttg at 16 range 0 .. 63;
end record;
at
和 range
在 IDE (GPS-GNAT Programming Studio) 中以粗体显示,我认为这意味着它们是关键字/在Ada...有人可以向我解释这个结构是什么/做什么吗?这里的数字是否与分配给变量的内存量/它们的内存位置有关?
eta
从记录开始的字节偏移量 8 的第 0 位开始,并继续到第 31 位;即它从字节 8 开始占用 32 位。
同理,ttg
占用64位,从字节16的第0位开始。