__FILE__并且__LINE__众所周知.__func__自C99以来有一个.
#include <iostream>
struct Foo {
void Do(){ std::cout << __func__ << std::endl; }
};
int main()
{
std::cout << __func__ << std::endl;
Foo foo; foo.Do();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
将输出
main
Do
Run Code Online (Sandbox Code Playgroud)
是否有任何输出方法名称的宏/关键字Foo::Do?
我正在学习编译器课程,程序汇编遵循以下步骤
如何查看每个步骤的输出,例如我希望在语法分析后看到解析树.
我正在使用GCC编译器在Linux机器上编译程序.
我们可以通过在gcc中使用-Wa编译器选项来查看程序的汇编代码,同样可以看到Tokens,Parse tree和Inetmediate代码.
如何为函数调用转储候选函数(或可行函数或最佳可行函数)?
我知道g ++提供了转储类层次结构的选项.(事实上,Visual Studio 2010提供了类似的选项,但它没有文档.我记得读过一些关于它的内容 - 也许是在VC++团队博客中 - 但我不记得清楚了.)
最近,我一直在阅读关于C++ 0x草案中的重载解析,这让我很尴尬.
是否有任何编译器提供转储候选函数,可行函数或最佳可行函数的选项?
注意:重载决策场景中的候选函数与编译器错误中的候选函数不同.超载解决方案中的候选/可行/最佳可行功能具有其自身的含义.我知道他们在重载决策中有三个阶段:找到候选函数; 找到可行的功能; 找到最好的可行功能.通常,最好的可行功能只是一个候选者; 否则,电话是不明确的.每个阶段都有自己的规则.