我正在尝试编写一个给出内存地址和数据类型的过程,将在该内存位置显示数据的值。
我认为最好的方法是在通用包Address_To_Access_Conversions中使用To_Pointer函数,但每次我尝试使用它时都会出错:
所选组件“Address_To_Access_Conversions”中的无效前缀
我无法找到有关如何实际使用Address_To_Access_Conversions的任何示例。而且我可能走错了路。
有没有人知道如何使用上面的包将地址转换为Access类型,更重要的是,这是一种访问给定地址的数据以显示到控制台的好方法吗?
我在研究中发现的解决方案是使用以下内容:
for X'Address use dummy_address;
唯一的问题是,在代码中的那一点,我没有计算出虚拟地址是什么,并且该语句只能在声明时起作用,在“开始”之前我通过块编程找到了解决方法:< / p>
dummy_address := base_address + offset;
Dummy_String:
declare
subtype Xdummy is Integer;
S : Xdummy;
for S'Address use dummy_address;
begin
--More code here
end Dummy_String;