文章目录
- 🍊自我介绍
- 🍊条件编译(为多文件编程铺路)
- 🍊宏是否定义的判断
你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~
a
🍊自我介绍
Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群一名“创始团队·嘉宾” ,现在我来为大家介绍一下有关嵌入式方面的内容。在进入介绍之前,可能有一些小伙伴不了解易编程·终身成长社群;想要进一步了解社群的小伙伴可以点击下方链接自行跳转至关于社群的介绍:
易编程·终身成长社群介绍 :
https://blog.csdn.net/weixin_74300052?spm=1011.2266.3001.5343
🍊条件编译(为多文件编程铺路)
格式:
#if 宏名
C语言1;
#else
C语言2;
#endif
功能:判断宏名是否为真,为真则编译C语言代码1.否则编译C语言代码2
穿插小知识:
#include <stdio.h>
//argc 命令行传递参数的个数
//argv[0] 命令行传递第1个参数
//argv[1] 命令行传递第2个参数
//argv[2] 命令行传递第3个参数
//...
int main(int argc,const char *argv[])//在linux终端中输入main后按下tab键就会出现(int argc,const char *argv[])
{
printf("argc = %d\n",argc);
prrintf("argv[0] = %d\n",argv[0]);
prrintf("argv[1] = %d\n",argv[1]);
prrintf("argv[2] = %d\n",argv[2]);
return 0;
}
命令行和命令行参数解释:
代码解释:
#include <stdio.h>
int main(int argc,const char *argv[])
{
int a[5] = {10,20,30,40,50};
int i = 0;
int *p = a;
#if 0 // 非零执行if 下面的语句,零执行else下面的语句
for(i = 0;i < 5;i++)
{
printf("%d ",a[i]);
}
printf("\n");
#else
for(i = 0;i < 5;i++)
{
printf("%d ",p[i]);
}
printf("\n");
#endif
return 0;
}
🍊宏是否定义的判断
//if no define
#ifndef 宏名 判断宏名是否没有定义
C语言语句;
#endif
功能:若是没有定义,会执行对应的C语言语句,若是定义了则不执行
代码解释:
#include <stdio.h>
#define DEBUG //宏存在
int main(int argc,const char *argv[])
{
int a[5] = {10,20,30,40,50};
int i = 0;
int *p = a;
#ifndef DEBUG //如果宏定义了执行else语句,如果没有定义执行下面的语句
printf("first\n");
for(i = 0;i < 5;i++)
{
printf("%d ",a[i]);
}
printf("\n");
#else//等价于注释
printf("second\n");
for(i = 0;i < 5;i++)
{
printf("%d ",p[i]);
}
printf("\n");
#endif
return 0;
}
运行结果:
second
10 20 30 40 50