用的是VS2013,支持C++11的,为什么__cplusplus还是等于199711L??

C/C++ > C++ 语言 [问题点数:20分,结帖人fsdffggjnd]
等级
本版专家分:0
结帖率 66.67%
等级
本版专家分:6883
勋章
Blank
GitHub 绑定GitHub第三方账户获取
Blank
黄花 2015年4月 C/C++大版内专家分月排行榜第二
2015年3月 C/C++大版内专家分月排行榜第二
等级
本版专家分:0
等级
本版专家分:643
等级
本版专家分:92998
勋章
Blank
进士 2008年 总版技术专家分年内排行榜第五
Blank
铜牌 2007年6月 总版技术专家分月排行榜第三
Blank
红花 2007年6月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2008年5月 C/C++大版内专家分月排行榜第二
2008年3月 C/C++大版内专家分月排行榜第二
2007年10月 C/C++大版内专家分月排行榜第二
2007年9月 C/C++大版内专家分月排行榜第二
2007年6月 C/C++大版内专家分月排行榜第二
2007年5月 C/C++大版内专家分月排行榜第二
fsdffggjnd

等级:

C++11中__cplusplus特性

宏__cplusplus使用 宏__cplusplus主要解决C/C++混合编程问题,一般用法如下: #ifdef __cplusplus extern "C" { #endif … #ifdef __cplusplus } #endif extern “C”可以抑制C++对函数名、变量名进行...

检查gcc编译器是否C++ 11特性

C++ 11编译器检查Tags: 小工具 简单的检查 #if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif 完整检查 通过boost环境变量进行检查

C++判断编译器所支持C++标准

MSVC编译器通过_MSVC_LANG宏来判断,其他编译器通过__cplusplus 宏来判断。 /*! The version of C++ standard that is being used. The C++17 standard. */ #ifndef MY_HAS_CPP17 # ifdef _MSVC_LANG # if _...

c++历史版本

C++使用STL时需要注意 你的代码遵循的c++版本 有些特性只有高版本c++支持 如thread、mutex至少需要c++11

C++ __cplusplus

#if __cplusplus &gt;= 201103L || (defined(_CPPLIB_VER) &amp;&amp; _CPPLIB_VER &gt;= 520) typedef std::unique_ptr&lt;CharReader&gt; CharReaderPtr; #else ty...

Eclipse CDT对C++11支持

eclipse3.8之前的__cplusplus的定义是199711L,如果使用c++11标准中的特性,ide中会报各种未找到定义。 需要修改设置如下: Window -> Preferences -> C/C++ -> Build -> Settings -> Discovery -> CDT GCC Build-...

VS设置C++标准

从C++11,14到C++17,C++20也马上到来了,在VS中如何设置C++标准了,经过一番探索,终于找到了该选项,如果要设置项目支持C++17标准,可以【右键属性】----【C/C++】---- 【语言】---- C++语言标准,即可设置对应的...

[Android NDK]添加C++11C++14支持

android ndk从2013年开始支持了C++11,从2015年开始支持C++14。 设置方法: 1、支持标准: 在 Android.mk 中加入 ① c++ 11 标准: LOCAL_CPPFLAGS += -std=c++11 ② c++ 14标准: LOCAL_CPPFLAGS += -...

CodeBlocks问题解决

问题一:使用unordered_map错误错误描述包含头文件#include <unordered_map>后编译器报错,错误信息: This file requires compiler and library support for the \ISO C++ 2011 standard. This support is ...

Visual Studio 2019(2017以后)设定语言标准后(C++)仍然为C++98问题解决

项目->属性->C/C+±>命令行 输入 /Zc:__cplusplus 应用 确定 .../Zc:__cplusplus 编译器选项启用 __cplusplus 预处理器宏以针对最新的 C++ 语言标准支持报告更新的值。 默认情况下,Visual Studio...

cmake检测g++编译器是否支持c++11

# 相关链接:https://cmake.org/cmake/help/v3.0/module/CheckCXXCompilerFlag.html...​include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) if(COMPILER_SUPPORTS_CXX11)

gcc 5.4 默认不支持c++11

理论上来讲5.4应该支持C++11,时间20160609,但是实际上__cplusplus的值却是199711L 最后看到一篇文章的一句话,原来是默认不支持。所以只要在编译时加上-std=c++11 或者 -std=c++0x就可以了。 真是奇怪,何必呢 ...

extern关键字的一般用法

首先,你得在cpp文件里面实现这些全局变量和全局函数,这是最基本的,然后只需要在需要用到这些变量和函数的文件里声明一下,extern修饰声明,这样弄完之后就可以随意使用这些全局变量和全局函数了。请不要...

【C++11新特性】编译器支持C++11?关键字:__cplusplus

使用以下语句进行确定编译器是否支持C++11 std::cout<<__cplusplus; 查看输出结果,若201103则表明支持;为199711则表明不支持。 原因: #define __cplusplus 201103L //C++11、源文件定义 #define __...

C++中extern "C"块的应用

一点睛 经常能在C和C++混编代码的程序中看到这样的语句: #ifdef __cplusplus //plus是+的意思,这里是c++的意思 extern "C"{ #endif ... ...在C++语言中,为了支持重载机制,在编译生成汇编代...

c++11

当g++编译器版本大于 4.8.1时 ...编译程序__cplusplus宏定义值是199711 编译选项加上  -std=gnu++11 时 宏定义__cplusplus值是201103 低版本宏定义__cplusplus值是1并且不支持编译选项  -std=gnu++11

C/C++中的预定义宏

官方文档中有这样的一个biaoge

C++11 与 C99的兼容

C++对以下C99特性的支持纳入了新标准之中: 1、C99中的预定义宏 2、__func__预定义标识符 3、_Pragma操作符 4、不定参数宏定义以及__VA_ARGS__ 5、宽窄字符串连接 1> c++11中与c99兼容的宏如下表所示: 使用上述...

VS设置C++11特性

IDE(包括VS)通过如下程序可以定位当前使用c++的版本: int main() { cout << __cplusplus << endl; return 0; } 在VS中设置c++的版本: 从C++11,14到C++17,C++20也马上到来了,在VS中...

关于在ubuntu下eclipse中c++11支持和编译运行c++11报错的解决方法

最近准备升级项目中的c++线程部分代码用c++11简单重构一下,结果测试demo直接就报错~ 百度和谷歌了一部分还是没有解决这个问题~ 最后经过研究eclipse的自动编译~终于搞定了~

C和C++混合编译,extern"C"的用法

第一篇:转载于C和C++混合编译关于extern_C 通常,在C语言的头文件中经常可以看到类似下面这种形式的代码#ifdef __cplusplus extern "C" { #endif /**** some declaration or so *****/ #ifdef __cplusplus } ...

C与C++接口间相互调用

项目中经常使用C和C++混合编程,那么,在调用对方接口时,总是不可避免地出现问题。为了让双方和谐地工作,就得用到extern "C"。

C++11读书笔记—1(长期历史遗留问题,宏定义与类型)

C的精髓宏定义更有更好的兼容请看下面代码,VS2015在部分没有做提示,但是可以。但在标准C++0x版本不能, #include #define LOG(...){\ printf("文件名:%s,%d\n",__FILE__,__LINE__);\ printf("变长参数...

检测c++0x/11

很久没有g++ dump编译器宏了,使用方法可参考:http://blog.csdn.net/jocks/article/details/7774527我的验证方法是:mipsel-linux-g++ -E -dM 1.cpp -std=c++0x我它验证了一下c++0x和c++11的区别: 如果是C++...

VS2019编译器__cplusplus为199711的问题,及CMAKE中的解决方案

为什么会存在这样的问题? __cplusplus 预处理器宏通常用于报告 C++ 标准特定版本的支持。 因为很多现有代码需要此宏的值与“199711L”匹配,所以VS系列的编译器不会更改此宏的值。对此微软在vs2017以后的版本中提供...

eclipse cpp配置C++17及验证

新建项目 点Finish 创建源文件 复制这段代码,保存: #include <iostream>... // 注意:__cplusplus 开头是连续两个下划线 if (__cplusplus > 201703L) std::cout &... else if (__cplusplus == 201703L...

C++与C之间相互接口和库函数调用

1 C++中调用C的接口我们在阅读一些库的代码的时候, 经常看到有些函数被extern “C”来修饰1.1 extern “C”引入C的库代码如下所示extern "C" void func();如果需要修饰的函数比较多, 则使用如下方式#ifdef __...

C++中unordered_map的版本兼容性问题

但是map的内部实现是采用的红黑树,众所周知,对于字典这类结构也可以hash表来实现,也就是C++的标准库应该也要有hash_map这种数据结构。 红黑树实现的map占用内存较小,但是查找效率不高,O(logn)的查找效率...

#error This file requires compiler and library support for the ISO C++ 2011错误解决办法

CmakeLists.txt 中添如下代码就OK, include...CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORT

#if defined(__cplusplus)

由于C++编译器需要支持函数的重载,会改变函数的名称,因此dll的导出函数通常是标准C定义的。这就使得C和C++的互相调用变得很常见。但是有时可能又会直接C来调用,不想重新写代码,让标准C编写的dll函数定义在C和...

相关热词 c#等比例压缩图片大小 c# word 替换 c# mysql插入 c#窗体上的叉添加事件 c#打印图片文件 c#後台調前台js c#控制台美化 c#获取当前的农历日期 c# 构造函数重载 c#代码修改服务器时间