条件编译

 

 条件编译的作用:

  1、代码裁剪(不更改原有代码)

复制代码
#include <stdio.h>
#include <string.h>
void test01()
{
 char str[128] = "";
 fgets(str, sizeof(str), stdin);
 str[strlen(str) ‐ 1] = '\0';

 int i = 0;
 while (str[i] != '\0')
 {
 #ifdef MAX_TO_MIN
 //将大写字母转换小写字母
 if (str[i] >= 'A' && str[i] <= 'Z')
 {
 str[i] += 32;
 }
 #else
 //将小写字符转换成大写字母
 if (str[i] >= 'a' && str[i] <= 'z')
 {
 str[i] ‐= 32;
 }

 #endif
 i++;
 }
 printf("%s\n", str);
 return;
 }
复制代码

    以上代码通过 gcc xxx.c 编译的时候就只会编译  #else 与 #endif  之间的一块代码,如果使用 gcc xxx.c -D MAX_TO_MIN 编译的时候就只会编译 #ifdef MAX_TO_MIN 与#else 之间的代码。也可以通过使用  gcc xxx.c -D MAX_TO_MIN=0 或  gcc xxx.c -D MAX_TO_MIN=1 来决定编译那一块代码。

  2、用于防止头文件重复包含

    方式一(推荐使用)

    方式二(Windows的方式)

 

posted @   牙齿凤  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示