最近,我已经学习了有关C ++协程TS的材料,并且知道诸如clang之类的编译器会为co_await <expr>
生成代码。而且,我很好奇使用gdb之类的工具检查生成的代码,尤其是检查在堆上创建的协程框架,以便使用这种机制给我留下深刻的印象。
我已经尝试过gdb,但是没有预期的结果。
答案 0 :(得分:0)
除非我对您的问题有误解,为什么不只使用编译器开关输出生成的程序集,您就可以对其进行检查。
例如:
clang++ -S foo.cpp
要么
g++ -S foo.cpp
将为您提供foo.s
的asm输出,该输出将准确显示CPU将要看到的内容。
如果您更喜欢Intel语法而不是AT&T,请在命令行中添加“ -masm = intel”。