首页 > 解决方案 > 在运行时使用编译器

问题描述

我已经编写了一个基准测试并使用不同的编译器(MinGW、Visual、32 位和 64 位)对其进行了测试,并希望打印出与基准数据一起使用的编译器类型。

我找到了 QSysInfo::buildCpuArchitecture() 来获取信息是否已执行 32 位或 64 位构建。

如何获取有关编译器名称或供应商的信息?

标签: c++qt

解决方案


我做了以下事情:

// get compiler used
#if defined(_MSC_VER)
#   define CPL "VC++"
#elif defined(__GNUC__)
#   define CPL "Mingw"
#else
#   define CPL "other CPL"
#endif

inline QString compilerInfo() { return( QString(CPL) + " " + (( QSysInfo::buildCpuArchitecture() == "i386")? "32-bit":"64-bit")); }

推荐阅读