问一个快速内存遍历的问题
想在内存里面搜索某个字节出现的所有位置,用指针遍历4G内存
但是大部分内存都是无效的,访问会出错,因此中间需要判断有效性
要怎么做才能做到快速?
var
L: TList;
begin
for I := 0 to $FFFFFFFF do
begin
if not IsBadReadPtr(PByte(I), 1) then
begin
if PByte(I)^ = $3F then
begin
//这里保存地址
end;
end;
end;
end;
上面的过程,我测试的时候只是用了$00FFFFFF,都用了一分钟左右
请问要怎么改进才能快速搜索0~$FFFFFFFF之间的内存?