博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言条件编译(DEBUG思想)
阅读量:4698 次
发布时间:2019-06-09

本文共 852 字,大约阅读时间需要 2 分钟。

条件编译(DEBUG思想)2016年7月28日 星期四17:31

#include <stdio.h>

#define DEBUG 0

int main(int argc, const char * argv[]) {

   

#if DEBUG == 1

    char *name = "lxc";

    char *pwd  = "123";

#else

    char *name = NULL;

    char *pwd = NULL;

#endif

    printf("name = %s\n pwd = %s\n",name,pwd);

//    name = (null)

//    pwd = (null)

    return 0;

    /**

     预处理指令什么时候执行? 编译之前

     变量什么时候定义? 执行了才会定义

     注意点:

     1.条件编译不能用来判断变量,因为不在同一个声明周期

     2.一般情况下,条件编译和宏定义是结合在一起使用的

     

     条件编译和选择结构if的共同点

     都可以对给定的条件进行判断,添加满足或者不满足都可以执行特定的代码

     

     条件编译和选择结构if的不同点

     1.声明周期不同

     if 是运行时执行

     #if 是编译之前

     2.#if需要一个明确的结束符号 #endif

     3.if会将所有的代码都编译到二进制中

     #if只会将满足条件的部分编译到二进制中

     

     条件编译的优点

     1.缩小应用程序的大小

     

     应用场景

     用于调试和发布阶段进行测试

     */

}

#ifdef SCORE // 判断是否定义了后面的宏

    printf("SCORE \n");

#endif

 

#ifndef SCORE //是不是没有定义后面的宏

    printf(" NO SCORE \n");

#endif

头文件卫士

在文件.h中为了防止被多次引入C语言中创建.h文件的时候系统会默认生成一个头文件卫视

#ifndef bb_h

#define bb_h

 

#endif

转载于:https://www.cnblogs.com/liuxingchen/p/5718158.html

你可能感兴趣的文章