66问答网
所有问题
c语言中 关于预处理和宏替换是否编译编译
c语言中 宏替换不占用运行时间 只占用编译时间 而刚才看到一句话是 预处理命令在编译之前由与处理程序处理 不能直接对他们进行编译
对于宏替换和预处理有点儿晕了 到底要不要编译呢
举报该问题
其他回答
第1个回答 2011-10-18
宏不会被compiler直接作为代码编译,你可以把它理解为一种编译器处理源代码的方式,比如#define CONST_NUM 10这样,后面代码里所有用CONST_NUM的地方都会在编译时被替换成10这个数,预处理呢,根据你定义的不同宏,比如定义了DEBUG,后面有两大段代码,
#ifdef DEBUG
XXX
#else
XXX
#endif
控制编译器具体去编译代码文件里的那部分代码这样,个人理解,希望能对你有些帮助。
相似回答
c语言中
一定要
编译
吗?
答:
c语言中一定要编译
。现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。链接阶段链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一...
c语言编译预处理
答:
读取
c
源程序,对其中的伪指令(以#开头的指令)和特殊符号进行
处理
[析] 伪指令主要包括以下四个方面 (1)宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令,
预编译
所要做的是将程序中的所有Name用TokenString
替换
,但作为字符串常量的Name则不被替换。对于后者,则将取消对某个
宏的
...
c语言的编译
过程是什么
答:
c语言的编译
过程如下:1、
预处理
:预处理过程实际上是处理“#”的过程:#include包含的头文件直接拷贝到hello.c中;#define定义的宏定义进行
替换
,同时删除代码中没有的注释部分。2、编译:编译的过程实质上是将高级语言翻译成机器语言的过程。3、汇编:汇编器是将汇编代码转变成机器可以执行的命令,每一...
宏替换是否
只在
编译
阶段进行?
答:
宏名用大写字母表示只是个习惯,大小写都行;宏替换不占用运行时间,只占编译时间;
因为宏替换发生在编译预处理阶段,预处理也是编译工作的一部分
。宏名无类型;宏替换只是字符替换;带参数的宏替换和函数不等价;所以答案选D。
宏替换
,宏展开到底分别在什么时候进行?
答:
首先,宏是C
编译
系统
的预处理
,何谓“预”?即是正式工作开始之前的准备工作。所以
宏替换
是在对程序编译之前进行的。其次,
C程序
由源程序变为可执行文件的三个阶段是:预处理阶段,由预处理器对程序文本中的宏进行展开。编译阶段,由编译器对经过预处理后的程序进行编译,并生成目标文件 链接阶段,则...
c语言预处理
答:
它由预处理程序负责完成。当对一个源文件进行编译时, 系统把自动引用预处理程序对源程序中
的预处理
部分作处理, 处理完毕自动进入对源程序
的编译
。
C语言
提供了多种预处理功能,如宏定义、文件包含、 条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、 移植和调试,也有利于模块化程序设计。
大家正在搜
c语言的编译预处理
c语言编译预处理命令
c语言的编译预处理功能主要包括
C语言中什么是预处理
编译预处理是什么意思
c语言预处理命令以什么开头
c语言三种预处理功能
c语言预处理命令作用
C语言预处理命令