如何查看编译器生成的C++协程代码的代码
How to see the compiler-generated code for C++ coroutine code
最近我学习了有关C++协程 TS 的材料,并且知道像 clang 这样的编译器会为co_await <expr>
生成代码。而且我很想检查生成的代码,尤其是使用某些工具(例如 gdb(在堆上创建的协程框架,这样我就会对这种机制印象更深刻。
我已经尝试过gdb,但没有我期望的结果。
除非我误解了你的问题,否则为什么不直接使用编译器开关输出生成的程序集,你可以检查它。 例如:clang++ -S foo.cpp
或g++ -S foo.cpp
将为您提供 ASM 输出foo.s
,该输出将准确显示 CPU 将要看到的内容。 如果您更喜欢英特尔语法而不是AT&T,请在命令行中添加"-masm=intel"。
相关文章:
- 删除原子多线程代码中的容器
- 开始多线程代码之前的初始化
- 实现在多线程代码中安全恢复的断点
- 一个简单的 win32 多线程代码.这能行吗?
- 如何查看编译器生成的C++协程代码的代码
- 需要帮助识别简单多线程代码中的错误
- 如何使用mingw编译C STD ::线程代码
- 多线程和单线程代码维护
- 在多线程代码中转发
- 如何调试此C 11线程代码
- C++多线程性能比单线程代码慢
- 为什么重新执行我的多线程代码后输出不一样
- 当我从C#代码调用C++代码时,它是线程安全的吗
- c++元组、向量和线程代码
- C++中的单线程多线程代码
- 矢量自动调整大小在多线程代码中是否是一种危险情况
- 使用 g++ 编译多线程代码
- MFC 编程:编译时出错:线程代码中的错误
- 线程代码解释器中的手动操作调用(破坏正常流)
- 单线程和多线程代码需要同时花费时间