我怎么告诉gcc我的内联汇编是否是堆栈的一部分?

考虑像这样的内联汇编:

uint64_t flags;
asm ("pushf\n\tpop %0" : "=rm"(flags) : : /* ??? */);

尽管可能有一些内在的东西来获取RFLAGS的内容,但我如何向编译器指出我的内联汇编在堆栈顶部破坏了一个四字内存?

最佳答案 就我而言,这目前是不可能的.

点赞