有没有办法强制将变量存储在C中的缓存中?

Shi*_*h22 10 c

我刚接到电话采访时被问到这个问题.我知道存储在寄存器或堆或堆栈中的方法,但具体缓存?

Nik*_*sov 11

不是C语言.在GCC中作为编译器 - 寻找__builtin_prefetch.

您可能有兴趣阅读每个程序员应该了解的内存.

编辑:

只是为了清除一些混淆 - 缓存在硬件中是物理上独立的记忆,而不是机器的软件抽象.高速缓存中的字始终与主存储器中的地址相关联.这与CPU寄存器不同,CPU寄存器与RAM分开命名/寻址.


Mat*_*nen 2

在 C 中,如 C 标准所定义的那样?不。

在 C 中,就像在特定平台上的某些特定实现一样?或许。