c语言,说宏展开是在编译时进行的,啥意思?啥叫编译时进行的?
1个回答
展开全部
c语言编写出来的代码叫源代码,是供人看的,如果想让机器执行,需要转换成机器语言,这个转换过程就叫编译。
在c语言中定义的宏,在编译时,会展开(或叫替换)为实际的语句,如:
#define MAX 100
void main()
{
int a=MAX ;
printf("a=%d\n", a );
}
这里MAX是个宏,当编译时,这段代码就会变成:
void main()
{
int a=100; //这里的MAX会变成100
printf("a=%d\n", a );
}
这就是宏展开、宏替换,然后编译器,按这样子的源代码进行编译,生成执行程序
在c语言中定义的宏,在编译时,会展开(或叫替换)为实际的语句,如:
#define MAX 100
void main()
{
int a=MAX ;
printf("a=%d\n", a );
}
这里MAX是个宏,当编译时,这段代码就会变成:
void main()
{
int a=100; //这里的MAX会变成100
printf("a=%d\n", a );
}
这就是宏展开、宏替换,然后编译器,按这样子的源代码进行编译,生成执行程序
更多追问追答
追问
那说的程序运行时进行的是什莫意思?
是生成机器语言后,进行的么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询