1.5.3 关于本书中的代码示例与实验平台

在本书的编写中,我们一共使用了3种编译器对代码进行编译,即IBM的xlC++、GNU的g++,以及llvm的clang++。我们使用的这3种编译器都是开发中的版本,其中xlC++使用的是开发中的版本13,g++使用的是开发中的版本4.8,而clang++则使用的是开发中的版本3.2。

本书的代码大多数由作者原创,少量使用了C++11标准提案中的案例,以及一些网上资源。由于本书编写时,还没有编译器提供对C++11所有特性的完整支持,所以通常我们都会将使用的编译器、编译时采用的编译选项罗列在代码处。在本书的代码中,我们会以g++编译为主,但这并不意味着其他编译器无法编译通过这些代码示例。从我们现在看到的结果而言,使用相同特性的代码,编译器的支持往往不存在很大的个体差别(这也是设立标准的意义所在)。而具体的编译器支持,读者则可以通过附录C获得相关的信息。

我们的代码运行平台之一是一台运行在IBM Power服务器上的SUSE Linux Enterprise Server 11(x86_64)的虚拟机(从我们的实验看来,在该虚拟机上并没有出现与实体机器不一致之处,而不同的Linux也不会对我们的实验产生影响)。运行平台之二则是一台运行于SUSE Linux Enterprise Server 10 SP2(ppc)的IBM Power5+服务器。