ADA95中的地址绑定?

ADA95中的地址绑定?,ada,memory-address,Ada,Memory Address,我们正在使用ADA语言(ADA95)进行实时开发。我们面临的问题是 地址绑定机制。在此之前,我们使用了ADA83,其中are直接机制为 在16#12345678#时用于x 将地址16#12345678#分配给变量x;但在ADA95中,不支持这种语法。另一种赋值方法是声明变量的记录。然后创建某个系统的对象 包然后传递地址。这在处理单个变量时非常麻烦。此方法仅适用于具有连续内存位置的多个变量,以便将地址分配给第一个变量,其余变量将自动对齐 TYPE SIU_Type IS

我们正在使用ADA语言(ADA95)进行实时开发。我们面临的问题是 地址绑定机制。在此之前,我们使用了ADA83,其中are直接机制为
在16#12345678#时用于x

将地址16#12345678#分配给变量x;但在ADA95中,不支持这种语法。另一种赋值方法是声明变量的记录。然后创建某个系统的对象 包然后传递地址。这在处理单个变量时非常麻烦。此方法仅适用于具有连续内存位置的多个变量,以便将地址分配给第一个变量,其余变量将自动对齐

 TYPE SIU_Type IS                       
  RECORD
   SIU_Reserved0  : GLOBAL_TYPE.ORDINAL;
   MIDR           : GLOBAL_TYPE.ORDINAL;
   SIU_Reserved00 : GLOBAL_TYPE.ORDINAL;


  END RECORD;

  package SIU_Conv is new System.Address_To_Access_Conversions(SIU_Type);
  SIU : constant SIU_Conv.Object_Pointer := SIU_Conv.To_Pointer(SIU_Address);
在我们的项目中,我们在许多需要地址分配的地方使用了变量,但第二种方法非常麻烦 使代码变得非常复杂

如果有的话,请提出其他建议

Ada95语法应为:
用于X地址使用系统。存储元素。到地址(16#12345678#)
为了避免任何隐式初始化,您还应该执行:
pragma导入(Ada,X)

Ada95语法应为:
用于X地址使用系统。存储元素。到地址(16#12345678#)
为了避免任何隐式初始化,您还应该执行:
pragma导入(Ada,X)