本文是《C和指针》的2.7中的第5题的gcc解
题目:下面这条语句的结果是什么?
int x/*comment*/y;
首先,创建一个包含此语句的C文件,如:
#include <stdio.h> int main(){ int x/*comment*/y; xy = 0; printf("xy =%d\n", xy); } 其次,使用gcc -E tmp.c来查看预处理后的文件
出来的结果很长,前面有很大一段代码,我们直接看最后那部分,如下所示:
int main(){ int x y; xy = 0; printf("xy =%d\n", xy); }
您还没有登录,请您登录后再发表评论
在"WindowsApplication输出与预处理"这个文件中,我们可以推测这是在Windows环境下进行的一个实验,可能涉及到了使用命令行工具如GCC或CL编译器来处理C或C++源代码,并观察预处理后的输出结果。通过对比原始源代码和...
- **成员后的文档**:Doxygen还允许在成员声明后添加文档注释。 - **示例**:文档中提供了具体的例子来说明如何使用这些注释块。 - **其他位置的文档**:除了成员声明前后的注释外,还可以在其他地方添加注释,如...
在语法部分,文档可能详细解释了汇编语言的预处理指令、空白字符的使用、注释的格式以及符号、语句和常量的定义。这些内容对于理解汇编语言的结构和编写有效的汇编代码非常重要。字符常量、字符串、字符、整数、大数...
3. **去注释**:移除或转换注释,将它们变成空白字符,不影响后续处理。 预处理后的中间文件`main.i`被传递给编译器(如`cc1`),进行编译阶段。编译器负责以下工作: 1. **词法分析**:将源代码分解成一个个叫做...
- 之后,对预处理后的代码进行词法分析,识别并生成HTML代码,达到高亮显示的目的。 这个课程设计项目不仅要求学生掌握基本的编译原理,还涉及到实际的编程技巧,包括词法分析工具的使用、HTML和CSS的应用,以及...
注释通常在预处理阶段被处理,但在词法分析阶段也可能涉及。 3. **识别关键字**:查找并识别编程语言中的关键字,如C++中的`int`、`if`、`else`等。 4. **标识符识别**:识别出由字母、数字和下划线组成的标识符,...
在语法方面,手册涵盖了预处理、空白字符、注释、符号、语句、常数等话题。例如,符号包括标签、赋予符号其他值、符号命名规则等;常数又分为字符常数和数字常数,其中字符常数包括字符串和字符本身,而数字常数包括...
make执行完成后会返回一个退出码,表示执行状态。 **二、指定Makefile** 可以通过`make -f <filename>`指定要使用的Makefile文件。 **三、指定目标** 默认情况下,make会构建Makefile中的第一个目标。也可以通过...
- `<stdio.h>` 文件中包含了`printf` 和 `getchar` 等函数的声明,通过`#include <stdio.h>` 将其包含进来后,就可以在程序中使用这些函数了。 - 注意:预处理器指令必须以`#`开头,且必须是所在行的第一个非空白...
5. **注释**:以`#`开头的行。 ##### 二、Makefile的文件名 默认情况下,make会寻找名为`Makefile`或`makefile`的文件。可以通过命令行参数指定其他文件名。 ##### 三、引用其它的Makefile 可以使用`include`...
- `strip`:移除字符串中的空白字符。 - `findstring`:查找字符串中是否包含另一个字符串。 - `filter`:过滤字符串列表中的元素。 - `filter-out`:从字符串列表中排除某些元素。 - `sort`:对字符串列表进行...
- **注释**:以 `#` 开头的行被视为注释。 ##### 2\. Makefile 的文件名 通常,Makefile 文件的名字是 `Makefile` 或者 `makefile`。在没有指定文件名的情况下,make 会查找名为 `Makefile` 的文件。 ##### 3\. ...
《你必须知道的495个C语言问题》的出版填补了这一空白。许多知识点的阐述都是其他资料中所没有的,弥足珍贵。 涵盖C99标准 目录 ~第1章 声明和初始化 1 基本类型 1 1.1 我该如何决定使用哪种整数类型? 1 ...
2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 2.14 为什么sizeof返回的值大于结构大小的期望值,是不是尾部有...
o 3.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构域的对齐方式? o 3.11 为什么 sizeof 返回的值大于结构的期望值, 是不是尾部有填充? ...
2.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外 部数据文件进行”二进制” 读写。能否关掉填充, 或者控制结构域 的对齐方式? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.11...
相关推荐
在"WindowsApplication输出与预处理"这个文件中,我们可以推测这是在Windows环境下进行的一个实验,可能涉及到了使用命令行工具如GCC或CL编译器来处理C或C++源代码,并观察预处理后的输出结果。通过对比原始源代码和...
- **成员后的文档**:Doxygen还允许在成员声明后添加文档注释。 - **示例**:文档中提供了具体的例子来说明如何使用这些注释块。 - **其他位置的文档**:除了成员声明前后的注释外,还可以在其他地方添加注释,如...
在语法部分,文档可能详细解释了汇编语言的预处理指令、空白字符的使用、注释的格式以及符号、语句和常量的定义。这些内容对于理解汇编语言的结构和编写有效的汇编代码非常重要。字符常量、字符串、字符、整数、大数...
3. **去注释**:移除或转换注释,将它们变成空白字符,不影响后续处理。 预处理后的中间文件`main.i`被传递给编译器(如`cc1`),进行编译阶段。编译器负责以下工作: 1. **词法分析**:将源代码分解成一个个叫做...
- 之后,对预处理后的代码进行词法分析,识别并生成HTML代码,达到高亮显示的目的。 这个课程设计项目不仅要求学生掌握基本的编译原理,还涉及到实际的编程技巧,包括词法分析工具的使用、HTML和CSS的应用,以及...
注释通常在预处理阶段被处理,但在词法分析阶段也可能涉及。 3. **识别关键字**:查找并识别编程语言中的关键字,如C++中的`int`、`if`、`else`等。 4. **标识符识别**:识别出由字母、数字和下划线组成的标识符,...
在语法方面,手册涵盖了预处理、空白字符、注释、符号、语句、常数等话题。例如,符号包括标签、赋予符号其他值、符号命名规则等;常数又分为字符常数和数字常数,其中字符常数包括字符串和字符本身,而数字常数包括...
make执行完成后会返回一个退出码,表示执行状态。 **二、指定Makefile** 可以通过`make -f <filename>`指定要使用的Makefile文件。 **三、指定目标** 默认情况下,make会构建Makefile中的第一个目标。也可以通过...
- `<stdio.h>` 文件中包含了`printf` 和 `getchar` 等函数的声明,通过`#include <stdio.h>` 将其包含进来后,就可以在程序中使用这些函数了。 - 注意:预处理器指令必须以`#`开头,且必须是所在行的第一个非空白...
5. **注释**:以`#`开头的行。 ##### 二、Makefile的文件名 默认情况下,make会寻找名为`Makefile`或`makefile`的文件。可以通过命令行参数指定其他文件名。 ##### 三、引用其它的Makefile 可以使用`include`...
- `strip`:移除字符串中的空白字符。 - `findstring`:查找字符串中是否包含另一个字符串。 - `filter`:过滤字符串列表中的元素。 - `filter-out`:从字符串列表中排除某些元素。 - `sort`:对字符串列表进行...
- **注释**:以 `#` 开头的行被视为注释。 ##### 2\. Makefile 的文件名 通常,Makefile 文件的名字是 `Makefile` 或者 `makefile`。在没有指定文件名的情况下,make 会查找名为 `Makefile` 的文件。 ##### 3\. ...
《你必须知道的495个C语言问题》的出版填补了这一空白。许多知识点的阐述都是其他资料中所没有的,弥足珍贵。 涵盖C99标准 目录 ~第1章 声明和初始化 1 基本类型 1 1.1 我该如何决定使用哪种整数类型? 1 ...
2.13 为什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写。能否关掉填充,或者控制结构域的对齐方式? 2.14 为什么sizeof返回的值大于结构大小的期望值,是不是尾部有...
o 3.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构域的对齐方式? o 3.11 为什么 sizeof 返回的值大于结构的期望值, 是不是尾部有填充? ...
2.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外 部数据文件进行”二进制” 读写。能否关掉填充, 或者控制结构域 的对齐方式? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.11...