编译器中-std和-stdlib含义

本文详细解析了C/C++编程中-std参数的使用,包括c++11、gnu++11和c99等标准,以及-stdlib参数如何选择libstdc++和libc++标准库,为C/C++开发者提供了实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. -std= <c++11/gnu++11/c99>

  • -std指编译器编译时采用的C/C++标准,用哪种标准进行编译。

-std=  c++11,支持C++11标准; -std=gnu++11,支持C++11标准和GNU扩展特性;-std=c99开启c语言c99支持; -std=c11开启c语言c11库的支持;

 

2. -stdlib= <libstdc++/libc++>

  • -stdlib指编译器编译时依赖的标准库。

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++
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值