最佳答案
为了使页面脏(打开页表条目中的脏位) ,我按下页面的第一个字节,如下所示:
pageptr[0] = pageptr[0];
但在实践中,gcc 将忽略死店淘汰的声明。为了防止 gcc 对它进行优化,我将语句重写如下:
volatile int tmp;
tmp = pageptr[0];
pageptr[0] = tmp;
看来这招奏效了,不过有点难看。我想知道是否有任何指令或语法具有相同的效果?我不想使用 -O0
标志,因为它也会带来很大的性能损失。