编译器中-std和-stdlib含义

  • C
  • -std= (c++11/gnu++11)

    -stdlib指编译器可支持的C++标准类型。-std=c++11,支持C++11标准; -std=gnu++11,支持C++11标准和GNU扩展特性;

    比如,GNU extensions to the C and C++ languages

  • -stdlib= (libstdc++/libc++ )

    -stdlib指编译器提供的标准C ++库类型。gcc编译器没有像 -stdlib 这样的命令行选项。 。 LLVM clang编译器可以。 这是因为clang为您提供链接LLVM标准C ++库( libc ++ )或GNU标准C ++库( libstdc ++ ),而gcc只支持 libstdc ++ 。 简单说就是两个都是 C++ 标准库,libc++ 是针对 Clang 编译器特别重写的 C++ 标准库,而 libstdc++ 则是 GCC 的对应 C++ 标准库。

    编译程序范例指定CXXFLAGS = -std=c++11 -stdlib=libstdc++

发表评论

邮箱地址不会被公开。 必填项已用*标注