



Compiler Explorer是一款在线代码编辑器,可以让用户快速测试和比较不同编程语言的输出结果。它的主要作用是帮助程序员更好地理解编译器的工作原理,从而更好地优化代码。用户在Compiler Explorer中编写一些代码并选择相应的编译器,即可查看这些代码在各种编译器下生成的详细信息,包括汇编代码、寄存器用法和指令计数。这些信息可以帮助程序员更好地了解程序的性能,并帮助他们更好地进行代码分析和优化。
定义一个类Test,它包含虚析构函数:
class Test {
public:
virtual ~Test() = default;
};
通过Compiler Explorer可知,类Test的虚表如图2-4所示。
图2-4
如图2-5所示,界面的右侧有一个Output按钮,通过该按钮可以定制相应的输出格式:可以选择Intel asm syntax,此时默认为AT&T汇编;也可以选择Demangle identifiers,这可以方便用户阅读和理解相应的示例代码。
如图2-6所示,还可以在界面的右侧选择不同的编译器来对源码进行构建,并产生相应的汇编代码。
图2-5
图2-6
在本书中,笔者主要使用以上两个功能。读者可自行尝试更多的功能。