mingw 要使用 x86_64-win32-seh
gcc, g++ 的验证一定要有
gcc --version
g++ --version
-
要在 c/c++ 编辑配置(UI) 中配置相关参数,包括C++ 17
配置成功的结果如下图所示
验证上述配置是否成功:
#include<iostream>
template<bool ok>
constexpr void foo()
{
//在编译期进行判断,if和else语句不生成代码
if constexpr (ok == true)
{
//当ok为true时,下面的else块不生成汇编代码
std::cout << "ok" << std::endl;
}
else
{
//当ok为false时,上面的if块不生成汇编代码
std::cout << "not ok" << std::endl;
}
}
int main()
{
foo<true>();//输出ok,并且汇编代码中只有std::cout << "ok" << std::endl;这一句
foo<false>();//输出not ok,并且汇编代码中只有std::cout << "not ok" << std::endl;这一句
return 0;
}
执行结果如下图所示