首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查C++编译器隐式生成的代码

检查C++编译器隐式生成的代码
EN

Stack Overflow用户
提问于 2014-07-21 05:01:02
回答 1查看 595关注 0票数 7

有没有办法(g++选项?)要检查C++编译器隐式生成哪些代码(例如,所有默认构造函数/析构函数)?

拥有生成的C++代码将是理想的,但至少程序集是好的。使用:

代码语言:javascript
运行
复制
g++ -S -g -O0 <file.cpp>

不会给我任何带有生成的构造函数/析构函数的标签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-21 08:48:50

我认为-fdump-tree-original是你所能得到的最接近的选项。不幸的是,它将同时显示您自己的代码和自动生成的代码,但是它不会标记哪个是哪个。然而,它是GCC转储中最易读的,它显示了在执行任何优化之前生成的代码。

另一种选择是使用-fdump-translation-unit。它创建了一个原始的树转储,其中包含了所有的东西。编译器组成的节点将被标记为“人工的”。然而,这种格式对人类来说并不容易读懂,甚至对于一个琐碎的源文件也是如此。要从中获取任何有用的信息,您可能需要编写一个程序来读取它,然后遍历树来找到您感兴趣的节点,并将它们打印出更具可读性的格式。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24858014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档