首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【一通百通】CC++的std标准总结

某些头文件可能会注意到此宏,并且不要声明某些功能或定义ISO标准不要求的某些宏; 这是为了避免干扰可能使用这些名称的其他任何程序。...有关这些标准版本的详细信息,请参阅GCC支持的语言标准。当选择编译C或C ++时,此选项目前才被支持。...另一方面,当指定了标准的GNU标准时,编译器支持的所有功能都被启用,即使这些功能改变了基本标准的含义。因此,一些严格的程序可能会被拒绝。...此标准基本上完全支持,模数错误和浮点问题(主要是但不完全与附件F和G中的可选C99功能完全相关)。见 http://gcc.gnu.org/c99status.html以获取更多信息。...名字 'c9x'和'iso9899:199x“已被弃用。 “c11“ “c1x“ “iso9899:2011“ ISO C11,ISO C标准的2011修订版。

1.1K30

从Xcode10不再支持libstdc++说起

C++标准库 一个app应用程序中如果用到C++相关的代码和类库那么就需要链接C++标准库。...:2003[21] C++03 2011 ISO/IEC 14882:2011[22] C++11, C++0x 2014 ISO/IEC 14882:2014[23] C++14, C++1y 2017...ISO/IEC 14882:2017[8] C++17, C++1z 2020 to be determined C++20 在C++11标准出来以前,市面上的编译器厂商基本上支持的都是C++98的版本...这些厂商或多或少的对C++的规范进行一些裁剪或者扩充以及对C++的各个版本的支持力度也有所不同。就目前来说主流的编译器几乎都对C++11标准已经完全支持了。...C++标准库的选项 Xcode中对于C++标准库C++ Stadard Library选项的选择影响的是链接的标准库动态库的版本以及对应的头文件的搜索路径。 如果你选择的标准库是libc++。

2.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言标准

    即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最低标准要求,许多老旧的编译仍然运行K&R C的标准。 ##ANSI C和ISO C C 的第一个标准是由ANSI发布的。...虽然这份文档后来被国际标准化组织(ISO)采纳并且ISO发布的修订版也被ANSI采纳了,但名称ANSI C(而不是 ISO C)仍被广泛使用。ANSI C现在被几乎所有广泛使用的编译器支持。...传统C语言到ANSI/ISO标准C语言的改进包括: 增加了真正的标准库 新的预处理命令与特性 函数原型允许在函数申明中指定参数类型 一些新的关键字,包括 const、volatile 与 signed...当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣,他们把更多的精力放在了C++上。...###C11 在2011年12月,ANSI 采纳了 ISO/IEC 9899:2011 标准。这个标准通常即C11,它是C程序语言的最新标准。

    50020

    C++基础----C++ 布尔类型(bool)及BOOL和bool的区别

    但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 ,就能在C语言里面正常使用bool类型。 C99是标准ISO/IEC 9899:1999的简称。...2011年12月8号,ISO 发布了新的 C 语言的新标准——C11,之前被称为C1X,官方名称 ISO/IEC 9899:2011。 C11是目前最新的C语言标准。...在C++编译器中给bool类型变量分配了1个字节长度。并且bool类型的取值范围仅有两个值:true和false(即真和假)。而在做逻辑运算时,默认非零即为ture(即真)。 2....用Visual C++写程序,即用微软的C++语言写程序,可以调用微软的C++ 的MFC等程序库,应用微软的C++ 的头文件,VC++强调的是它支持“可视”,支持作图。...和bool区别为: 名称 应用环境 类型 长度 取值 bool 标准的C++ 布尔型 1个字节 false和true(0和1的区别) BOOL VC++ int型 视实际环境来定,一般认为是4个字节 0

    2.3K50

    CC++ 之 C发展史及 各标准特性说明

    该标准定义了C语言标准和C的标准库。...1999年12月1日,国际标准化组织(ISO)和国际电工委员会(IEC)旗下的C语言标准委员会(ISO/IEC JTC1/SC22/WG14)正式发布了标准文件: ISO/IEC 9899:1999 -...然而,如今不是所有C的编译器都支持C99标准,而完全或几乎完全支持C99标准的主流编译器有:GCC、Clang、Intel C++ Compiler等。...C99标准之后,新的C语言标准是国际标准化组织(ISO)和国际电工委员会(IEC)在2011年12月8日正式发布的C11标准,官方正式名为ISO/IEC 9899:2011。   ...C99 新特性  对编译器限制增加了,比如源程序每行要求至少支持到4095字节,变量名函数名的要求支持到63字节 (extern要求支持到31)预处理增强了。

    94900

    开篇:预备知识---1

    之后在 1989 年 美国国家标准协会(ANSI)发布了第一个 C语言标准,国际标准化组织于 1990 年采用了这套 C 标准(ISO C)。ISO C 和 ANSI C 是完全相同的标准。...1994 年,ANSI/ISO 联合委员会开始修订 C 标准,为了弥补 C89 标准中存在的一些缺陷。最终在 1999 年发布了 C99 标准。而在 2011 年发布了 C11 标准。...当我们书写的源程序经过上述编译步骤后,编译器会生成一个可执行的二进制文件,这个二进制文件的格式是符合操作系统对可执行文件内容格式要求的。这种文件在 Windows 系统上的后缀名一般为 .exe。...注释 ​ 早期的 C语言(C89/C90)标准只支持 /*注释内容*/ 类型的注释,不支持当行注释,如果你在 C语言源文件中使用了单行注释(// 注释内容),编译器会报错: #include 文件后缀名改为 .cpp,这样的话我们就可以使用 C++语言特性,显然,C++ 是支持单行注释的。 即时变量 ​ 早期的 C语言(C89)标准不允许使用即时变量。何为即时变量呢?

    53540

    关于编译的重要概念总结

    将函数库中相应的代码组合到目标文件中,汇编文件和系统库文件链接起来,生成在特定平台可执行的程序。 最早的操作系统中,是没有链接器的,由加载器loader进行工作,所以ld的命名由此而来。...对于 .c和.cpp文件,g++则统一当做cpp文件编译 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL gcc在编译C文件时,可使用的预定义宏是比较少的...gcc在编译cpp文件时/g++在编译c文件和cpp文件时(这时候gcc和g++调用的都是cpp文件的编译器),会加入一些额外的宏。...年份 C++ 标准名称 非正式名称 1998 ISO/IEC 14882:1998 C++98 2003 ISO/IEC 14882:2003 C++03 2011 ISO/IEC 14882:2011...98 C++从最初的C with Classes新增了很多其他的特性,比如异常处理、模板、标准模板库(STL)、运行时异常处理(RTTI)与名字空间(Namespace)等。

    96220

    C语言介绍

    为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。 注:国际标准化组织ISO也制定的C语言的标准,被很多编译器所采用,如:GCC等。...C11标准 2001年和2004年先后进行了两次技术修正。 2011年12月8日,ISO正式公布C语言新的国际标准,命名为ISO/IEC 9899:2011,俗称C11标准。...[7][11-13] (注意:“C11标准”与“C++ 11标准”是两个完全不同的标准,前者是C语言的标准ISO/IEC 9899:2011,后者是C++语言的标准ISO/IEC 14882:2011。...使用这些函数需要引用头文件。[25] 文件输入/输出 在C语言中,输入和输出是经由标准库中的一组函数来实现的。...[34] 15经典错误 void main()的用法并不是任何标准制定的,是微软公司内定的,虽然有少数编译器支持这种写法。

    3.1K20

    C++ 标准 和 C 标准 (截止到2019年03月)

    C++ 标准:维基百科 Year C++ Standard Informal name 1998 ISO/IEC 14882:1998[23] C++98 2003 ISO/IEC 14882:2003...[24] C++03 2011 ISO/IEC 14882:2011[25] C++11, C++0x 2014 ISO/IEC 14882:2014[26] C++14, C++1y 2017 ISO...于是 ISO C(又称为 C90) 诞生了。除了标准文档在印刷编排上的某些细节不同外,ISO C(C90) 和 ANSI C(C89) 在技术上完全一样。...【C99】 1999 年,ANSI 和 ISO 又通过了最新版本的 C 语言标准和技术勘误文档,该标准被称为 C99 。这基本上是目前关于 C 语言的最新、最权威的定义了。...现在,各种 C 编译器都提供了 C89(C90) 的完整支持,对 C99 还只提供了部分支持,还有一部分提供了对某些 K&R C 风格的支持。

    92610

    C语言C99标准、C11标准新增加的特性

    C11 (ISO/IEC 9899:2011):发布于2011年,C11标准在C99基础上进一步完善,加入了对多线程编程的支持(通过库)、增强了Unicode支持(通过ISO/IEC 9899:2018):发布于2018年,这个版本主要是对C11标准的小幅修订和澄清,没有引入重大的新特性,主要目的是解决C11标准中发现的问题和歧义,提高标准的清晰度和一致性。...C18有时也被视为C11的一个修正版。目前,最新的官方标准是C18,但需要注意的是,并非所有的编译器都已经完全实现了最新标准的所有特性,开发者在编写代码时应考虑目标编译器的实际支持情况。...此外,C99还引入了//风格的单行注释,使代码更加易读。尽管C99引入了许多现代化的特性,但直到今天,并非所有编译器和开发环境都完全支持C99的所有特性。...C11 (ISO/IEC 9899:2011)C11标准引入了若干新特性,以下是一些主要特性的示例代码:1.

    8100

    C++ 的发展

    filesystem**:用于处理文件和目录的标准库; **改进的 std::string 和 std::array**; 并行算法(std::for_each 等支持并行执行)。...主要的更新包括对 模板特化、SFINAE(Substitution Failure Is Not An Error)等方面的细节修正,确保了编译器能够更好地支持标准库。...STL 和模板的完善:C++03 解决了模板和标准库的一些小问题,确保标准库在不同编译器下的行为一致。...标准库改进: C++14 修复了 C++11 标准库中的一些问题,并改进了对各种常见编译器的支持。标准库中对线程、智能指针、算法等的支持变得更加稳定和高效。...5. std::filesystem C++17加入了对文件系统操作的标准库支持,std::filesystem使得处理文件和目录变得更加方便。

    61810

    c语言编程用什么软件-学习c语言需要什么软件_c语言编程软件有哪些

    目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程...不过它不支持鼠标,但读者如果掌握几个快捷键,操作时对鼠标可能就不怎么需要了,如:   F2 存盘;F3 打开程序;Alt+F3在最近打开的文件之间切换;Alt+F5观察运行结果;F9 编译制作EXE;Ctrl...目前比较不错的C/C++语言编译器,支持鼠标,语法着色,多文档,错误跟踪也很好,操作与TC2.0有很多类似,TC2.0会用那么TC3.0也很快会用,缺点是以前很多代码是用TC2.0设计的,而由于TC3.0...目前主流的C/C++语言编译器,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面。对于TC等的作品也具有向下兼容的特点,建议读者选用作为C语言过渡到平台编程的首选工具。...还有其他的编译器,例如Win tc、gcc、lcc、BC 3.1等等,事实上,编译器的选择不是最重要的,他们都可以完成基本的C语言编译,不过面向考试的时候,还是根据考试的要求,因为编译器的编译结果存在着一定的差别

    10.3K11

    你了解C语言发展历史吗?你使用什么开发环境呢?必备指南【C语言编程入门秘籍03】

    1983年,美国标准化ANSI C规范了C语言语法和库函数,有助于不同编译器的可移植性。 1990年,国际化ISO C标准,第一个国际标准,称为C89或C90标准。...包含经典的库stdio.h、stdlib.h等。推动C语言国际化。 1999年,ISO C99标准新特性引入,扩展了C语言功能,例如布尔类型等。...2011年,ISO C11标准新特性引入,例如支持线程等。 2018年,ISO C17标准或C18标准发布。没有引入新特性,仅做修正和补充。 2020年,C20标准新特性出炉,也被称为C2x标准。...2)学习开发相关工具拓展: 目前编程入门实用的vc++6.0是1998年的老产品,虽然初学入门学习时推荐使用这块工具,但是要注意的是这块工具只支持C89标准。...C++和C运行效率是一样的,因为本质上就是C语言编程,所以很多时候学习C语言系列,我们一般都会写成学习C/C++,大多招聘公司也都这么写。

    44940

    .NET 架构组件

    NET 5 基于单一代码库构建,该代码库支持多个平台和许多工作负载,例如 Windows 桌面应用程序和跨平台控制台应用程序、云服务和网站。...这些工具和组件包括: .NET 语言及其编译器 .NET 项目系统(基于.csproj、.vbproj和.fsproj文件) MSBuild,用于构建项目的构建引擎 NuGet,微软的 .NET 包管理器...标准的后续修订已由编程语言技术委员会 ( TC49 )内的 TC49-TG2 (C#) 和 TC49-TG3 (CLI) 任务组制定,并由 Ecma 大会通过,随后由 ISO/IEC JTC 1通过 ISO...来自 Partition IV XML 文件的信息:ECMA-084.pdf格式。 官方 ISO/IEC 文件可从 ISO/IEC公共可用标准页面获得。...信息技术 — 通用语言基础设施 (CLI) — 源自第 IV 部分 XML 文件的信息技术报告:ISO/IEC TR 23272:2011

    90910

    【C++课程学习】:C++11(C++发展,列表初始化,声明auto,typeid,decltype)

    ⛳️ 标准化阶段: 1989年,成立了ANSI和ISO(International Standards Organization)国际标准化组织和联合标准化委员会,开始C++的标准化工作。...1998年,C++的ANSI/ISO标准被投入使用,这通常被认为是标准C++。所有的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builder。...⛳️持续改进阶段: 自C++98标准发布以来,C++标准已经经历了多次修订和扩展,每一次标准的更新都带来了新的特性、改进和优化,使得C++更加适应现代编程的需求和挑战。...以下是一些主要的变化: ●C++98:C++语言的第一个正式标准版本,包含了许多重要的特性,如类和对象、继承、虚函数和多态、封装、抽象类、模板、异常处理、标准模板库(STL)、命名空间等。...1998年C++委员会成立以来,就制定了一个五年计划,打算每五年进行一次新标准的发布。但是从03年到11年之间隔了8年,是因为委员会觉得在五年之内完不成新标准的发布,所以就一直拖,到2011年才发布。

    8800

    C++模版的本质

    最初C++是没有标准库的,任何一门语言的发展都需要标准库的支持,为了让C++更强大,更方便使用,Bjarne Stroustrup觉得需要给C++提供一个标准库,但标准库设计需要一套统一机制来定义各种通用的容器...Bjarne Stroustrup 提议C++需要一种机制来解决这个问题,所以就催生了模板的产生,最后经标准委员会各路专家讨论和发展,就发展成如今的模版, C++ 第一个正式的标准也加入了模板。...所以要满足通用(支持各种容器),设计复杂度低,效率高,类型安全的算法,模板函数就应运而生了,模板函数就是用来实现通用算法并满足上面要求。 ?...SFINAE -Substitution failure is not an error 要理解这句话的关键点是failure和error在模板实例化中意义,模板实例化时候,编译器会用模板实参或者通过模板实参推导出参数类型带入可能的模板集...标准ISO+IEC+14882-1998,2003,2011; 《C++ Templates: The Complete Guide》 by David Vandevoorde, Nicolai M.

    1.7K30

    一文让你学完C++,干货收藏!!!

    C++ 标准库,提供了大量的函数,用于操作文件、字符串等。 标准模板库(STL),提供了大量的方法,用于操作数据结构等。 C++的标准 对一门编程语言来说,遵循统一的标准是必需的。...:2014 C++14 第四个C++标准 2011 ISO/IEC TR 24733:2011 - 十进制浮点数扩展 2011 ISO/IEC 14882:2011 C++11 第三个C++标准 2010...++ 标准库提供了 string 类类型,支持上述所有的操作,另外还增加了其他更多的功能。...I/O 库头文件 下列的头文件在 C++ 编程中很重要。...C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

    3K3029

    Visual C++ 中的重大更改

    如果使用 CRT(C 运行时库)或 STL(标准模板库)类型,请勿在使用不同编译器版本编译的二进制文件(包括 DLL)之间传递这些类型。...Microsoft 建议在升级项目时使用最新版本的 Visual C++ 编译器和库编译所有静态库。...标准模板库          为了实现新的优化和调试检查,C++ 标准库的 Visual Studio 实现特意破坏了连续两个版本之间的二进制兼容性。...因此,在使用 C++ 标准库时,使用不同版本编译的对象文件和静态库不能混合在同一二进制文件(EXE 或 DLL)中,并且不能在使用不同版本编译的二进制文件之间传递 C++ 标准库对象。...steady_clock 已更改 steady_clock 的 实现,以便满足 C++ 标准对稳定性和单一性的要求。

    4.8K00
    领券