博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
宏定义
阅读量:4290 次
发布时间:2019-05-27

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

***********#if和#ifdef的区别:

#if !TEST_DEFINBE //该宏没有定义与宏值定义为 0的执行结果是一样的 

    printf("if !TEST_DEFINE\n\r"); // TEST_DEFINE未define或#define TEST_DEFINBE 0都会执行到这里 
    #else
    printf("else if !TEST_DEFINE\n\r"); // #define TEST_DEFINBE 1会执行到这里
    #endif

    #ifdef TEST_DEFINBE //宏定义即为真,与定义的值0或是1没有关系 

    printf("ifdef TEST_DEFINE\n\r");     //#define TEST_DEFINBE 0或 #define TEST_DEFINBE 0都会执行到这里 
    #else
    printf("else ifdef TEST_DEFINE\n\r"); //TEST_DEFINE未define会执行到这里 
    #endif 
 

 

 

宏定义调试

// 自定义Log

#ifdef DEBUG

 

#define WCLog(...) NSLog(@"%s %d \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])

 

#else

#define WCLog(...)

 

#endif

============================

/** NSLog 输出宏*/

#ifdef DEBUG

#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

#else

#define NSLog(...)

#endif

 

========================

//#ifdef DEBUG

//#define NSLog(...) NSLog(__VA_ARGS__)

//#else

//#define NSLog(...)

//#endif

 

 

转载地址:http://ehlgi.baihongyu.com/

你可能感兴趣的文章
安卓三状态切换按钮TriStateToggleButton
查看>>
Spring框架-AOP细节
查看>>
java.lang.Instrument 代理Agent使用
查看>>
Javascript:指针、帽子和女朋友
查看>>
Android中的ALERTDIALOG使用_优就业
查看>>
java使用javacsv读取csv文件 导入Mysql数据库
查看>>
Toolbar 不为人知的助手,ActionMenuView
查看>>
Java回调方法详解
查看>>
如何获取url中的参数并传递给iframe中的报表
查看>>
以前端架构师的思想看问题:解决单页应用,系统角色请求抢占session发送请求问题
查看>>
jsessionid问题解决方案
查看>>
MySQL和Oracle的delete,truncate
查看>>
idea使用心得(2)-安装设置与创建web项目
查看>>
将项目放到服务器tomcat上运行
查看>>
JS几种变量交换方式以及性能分析对比
查看>>
Android面试一天一题(6)——如何进行技术选型
查看>>
Velocity笔记--使用Velocity获取动态Web项目名的问题
查看>>
安卓学习:如何将一个Activity设置成窗口的样式
查看>>
Android: 自定义 View
查看>>
MySQL-99语法:外连接与内连接-(左内连接多表和查询)
查看>>