【发布时间】:2009-05-04 14:15:20
【问题描述】:
有没有办法(只读)访问任意内存位置而不会遇到访问冲突?我认为每个进程都有自己的虚拟地址空间,并且它可以读取所有可用的内存位置......似乎不是这样,因为如果我执行类似的操作,我的程序就会挂起
var
IntPtr : PInteger;
AnInteger : Integer;
...
IntPtr := $100;
AnInteger := IntPtr^;
我仍在尝试编写我的低级递归大小函数并尝试检测数据成员是否为对象引用。
谢谢!
【问题讨论】:
-
我在你的代码中感觉到很多指针。指针是通往黑暗面的路径。指针会导致访问冲突,访问冲突会导致程序崩溃,程序崩溃会导致客户不满意。
-
嗨!我通常不经常使用指针(至少在 Delphi 中)。但在这种情况下,我想检测一个 4 字节的对象是否是对象引用 - 为此我必须深入到指针级别......
标签: delphi memory pointers access-violation