不同版本的C/ c++
Different versions of C/C++
我知道我的电脑上有Java 1.7和Python 2.7。如何检查我使用的是哪个版本的C和c++ ?此外,我如何检查我正在使用的C/c++编译器?我正在运行OS x。
另外,不同版本的C/c++和不同版本的C/c++的编译器之间的关系是什么?每个编译器对应于不同版本的C/c++吗?例如,gcc4-3是否只编译c++ 2014?
如果你需要c++标准版本,那么你应该在这里使用'__cplusplus'宏。
如果你指的是编译器版本和编译器类型,那么检查所有由不同编译器定义的宏。
哦,顺便说一句,编译器通常是向后兼容的。所以,一个可以编译c++ 11代码的编译器,也可以编译c++ 98。我如何检查我有什么版本的C和c++ ?
c++编译器应该定义一个预处理器的const __cplusplus
,你可以通过std::cout<<__cplusplus<<'n'
来查看哪个标准编译器在运行。
我如何检查我正在使用的C/c++编译器?
检查你的IDE
不同版本的C/c++和不同版本的C/c++编译器之间的关系是什么?
新的编译器可以适应最新的标准。
每个编译器对应不同版本的C/c++吗?
MS Office只打开最新版本的文件吗?不。
要获取gcc的版本,您可以在终端中运行:
gcc -v
对于g++,可以执行:g++ -v
编译器可以编译不同版本的C/c++。所以gcc4-3可以编译不同版本的c++。
编译器的版本独立于语言的版本。新版本的gcc包含新特性和错误修复。
每个编译器对应不同版本的C/c++吗?
。编译器版本与其所支持的语言版本之间没有相关性。
大多数当前编译器应该支持从K&R C到C2011的所有内容,至少就语法而言(一些头可能缺失,并且gets
库函数作为C2011标准而消失,因此非常旧的代码在针对最新标准编译时可能会中断)。一些编译器,如gcc
,允许您指定要构建的语言版本(-ansi
用于C89/C90, -std=c99
用于C99, -c11
用于C2011,至少从gcc 4.9.1开始)。
微软的C编译器在Visual Studio中的一个值得注意的例外;直到最近very,它只支持C90。我的理解是,他们终于开始支持至少一些的C99/C2011的变化(如混合声明和代码)。
在C语言中,如果至少支持C90,预定义宏__STDC__
将扩展为1
;如果支持C99或C2011,预定义宏__STDC_VERSION__
将扩展为yyyymmL
形式的long
常量(例如,如果编译器最多支持C99,则__STDC_VERSION__
扩展为199901L
)。
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- Vulkan SDK 版本 1.1.85.0 在 Kubuntu 18.10 上链接
- 如何正确实现与基类不同的版本?
- 从预处理器获取 Windows 版本(C++ Win32)
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 如何在C++中将 Python 字符串转换为其转义版本?
- Qt版本应该在其他计算机上运行吗?