4

在C/C++程序中,如何关闭Windows系统中各个内核的预取?

4

2 回答 2

3

有一个 Windows API 调用 FlushInstructionCache()

也许这就是你需要的?它通常由自我修改代码使用,以确保对 RAM 中代码的更改对处理器可见。

于 2010-03-18T05:32:13.833 回答
0

我在一些代码中看到了这个技巧,虽然我不是 100% 确定这个技巧是否是你正在寻找的,但是,代码是这样的

睡眠(0);

通过使用Sleep(0),您正在清除 CPU 指令并导致上下文切换...现在您确实说过“对于每个核心”,我认为您不能明确选择一个核心来执行此操作,因为您如何知道哪个核心正在运行需要关闭缓存预取的代码....

于 2010-03-08T15:53:22.853 回答