2

CPUID 可用作此处此处所述的序列化指令。在 C++ 中以这种方式使用它的最小/最简单的 asm 语法是什么?

// Is that enough?
// What to do with registers and memory?
// Is volatile necessary?
asm volatile("CPUID":::);
4

1 回答 1

1

您是否有理由不使用围栏操作?如果目标是序列化一段代码,您可以执行类似的操作

    asm __volatile__ (
" mfence \n"
" lfence \n"
);
Your code
asm __volatile__ (
" mfence \n"
" lfence \n"
);
于 2018-01-29T13:44:12.370 回答