当前位置: 首页 > 知识库问答 >
问题:

根据标准,C++编译器需要如何处理格式不良的程序?

越正阳
2023-03-14

C++03标准将格式良好的程序(1.3.14[defns.well.formed])定义为

它进一步将格式不良的程序(1.3.4[defns.ill.formed])定义为

不是格式良好的程序的C++实现的输入(1.3.14)

该标准充满了诸如“如果X,则程序是格式不良的”之类的语句,例如(2.13.1/3):

共有1个答案

蓝慈
2023-03-14

我能找到的唯一相关引用说,诊断格式不良的程序需要一个实现,但它可以完成编译:

8)一个符合要求的实现可以有扩展(包括附加的库函数),只要它们不改变任何格式良好的程序的行为。根据本国际标准,需要实现来诊断使用这种格式不良的扩展的程序。但是,在这样做之后,它们可以编译和执行这种程序。

 类似资料:
  • 就处理编译/链接错误而言,我是一个新手。 我正在使用一个很大的C++代码(还有一些C文件)。我已经成功地在Mac上运行了它,用G++编译。现在我需要在基于Linux的集群上运行它,因为它在我的Mac上太慢了。代码由我必须编译的几个库组成,加上我自己使用这些库的代码。 我可以使用默认的g++编译器编译集群上的所有代码。然而,不幸的是,我已经发现我需要用GCC/4.7.2进行编译,这样代码将与集群上的

  • 目前,业界普遍使用的已经发布的编译器(例如,GCC C++, Clang C++,IBM C++, 和Microsoft C++)已经实现了许多C++11的特性。例如,在发布编译器时,同时发布全部或者绝大多数的新标准库文件似乎非常普遍,并且十分受用户的欢迎。我希望越来越多的新特性会出现在每次的版本发布中。可能性最大的,相对独立的特性,像auto, lambda, 和 strongly typed

  • 我对C++编译器如何处理虚函数中的“this”指针有一个困惑,我的代码是: 这是在我的Linux中用G++编译的结果: 我无法理解我将发送到而中的等于。然后调用,中的这个指针是,与相同。似乎将B类转换为C类,但B类是C类的父类,如何转换? 虽然pb可以通过虚函数获得的地址,但是要将B类转换为C类,需要知道的只是一个没有足够信息的地址,那么程序在运行时是如何知道B类转换为C类的呢? 多谢!祝你有一个

  • null 代码(步骤1和2): 实际上,第一个任务执行良好,并为注释处理器实现编译.class文件。它在第二个任务停止。 Ant说: Java 1.6 Ant 1.8.2

  • 我使用android Studio制作了一个静态编程语言MultiPlatform Mobile项目,导入SQLDelight后遇到以下错误: 我回答了这个问题,但他们提到的一切我都做对了。在一个文件一个文件地查看之后,我没有找到我在哪里声明了那个版本,于是我决定将我的项目与其中一个示例项目进行比较。 再次查看这些文件后,我发现我在我的应用程序等级中使用了SQLDelightVersion1.5.

  • 我正在Windows平台上编写一个小程序,使用Node.JS访问Oracle数据库进行基本的插入/更新操作。然后,此程序将部署到几个具有不同版本Windows的计算机上。 一开始,我认为通过安装和使用node oracledb会非常简单。然而,在阅读了安装指南并进行了几次尝试后,我发现安装起来有点笨重,因为它需要Microsoft Windows SDK或Visual Studio,这非常庞大,而

  • 第11章 数值运算协处理器 数值运算协处理器(简称协处理器)是特为与微处理器协同工作而设计的,它是用于加速处理浮点数据的处理部件。对同样的浮点计算,使用该部件进行运算所花的执行时间要比用常规指令编写的最有效代码所花的时间还要少得多。在早期的计算机系统中,该部件是可选部件,但现在一般都把协处理器直接内置在CPU之中。鉴于现在Pentium处理器内部结构的特点,该处理器能同时执行一条协处理器指令和二条