一些宏定义

原创 2015年11月18日 18:28:46

/**************1.环境切换*******************/

#define kProRelease     0

#define kPreRelease     0

#define kDevDug         1

#define kAPIVersion     @"1.3"


#if kProRelease

    #undef kPreRelease

    #undef kDevDug

    #define kPreRelease 0

    #define kDevDug     0

#elif kPreRelease

    #undef kDevDug

    #define kDevDug     0

#endif


#ifndef Need_HTTPMacro_h

#define Need_HTTPMacro_h

#if kProRelease

    #define kHostAddressURL               @"XXX"                      //生产主机地址

    #define kQiNunHostAddressURL           @"XXX"                                //QiNiuNeed

    #define ShareHost                      @"XXX"                 //分享

    #define ShareCheapHost                 @"XXX"             //运营分享团

#elif kPreRelease

    #define kHostAddressURL                @"XXX"                  //生产主机地址

    #define kQiNunHostAddressURL           @"XXX"                             //QiNiuNeed

    #define ShareHost                      @"XXX"             //分享

    #define ShareCheapHost                 @"XXX" 

//运营分享团

#else

    #if kDevDug

        #define kHostAddressURL            @"XXX"                //测试开发地址

    #else

        #define kHostAddressURL            @"XXX"                   //开发个人主机地址B

    #endif

    #define kQiNunHostAddressURL           @"XXX"               //QiNiuDemo

    #define ShareHost                      @"XXX"               //test分享

    #define ShareCheapHost                 @"XXX"        //运营分享团

#endif





#define WeakObj(o)                      autoreleasepool{} __weak typeof(o) o##Weak = o

#define StrongObj(o)                    autoreleasepool{} __strong typeof(o) o = o##Weak


#define KNavHeight                      self.navigationController.navigationBar.frame.size.height

#define KStateBarHeight                 [[UIApplication sharedApplication] statusBarFrame].size.height

#define ScreenWidth                     ([[UIScreen mainScreen] bounds].size.width)

#define ScreenHeight                    ([[UIScreen mainScreen] bounds].size.height)

#define RGBA(r,g,b,a)                   [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]

#define RGB(r,g,b)                      RGBA(r,g,b,1.0f)

#define UIColorWithRGBA(rgbValue,a)     [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

#define UIColorWithRGB(rgbValue)        UIColorWithRGBA(rgbValue,1.0f)


[[UIColor blackColor] colorWithAlphaComponent:0.3]


#define kSeparatorLineColor             UIColorWithRGB(0xCFCFCF)

/**************3.Debug输出*******************/

#ifdef DEBUG

#define DLog(fmt, ...)                  NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

#else

#define DLog(...)

#endif


/**************4.系统版本判断*******************/


#define SYSTEM_VERSION_GREATER_THAN(s)  ([[[UIDevice currentDevice] systemVersion] compare:s] != NSOrderedAscending )




C/C++中取消宏定义

C/C++中可以用 #undef xxx 来取消宏xxx的定义。举例如下 #undef命令可以取消定义一个名称为宏: #undef name  这个命令使预处理器忘记name...
  • lwjaiyjk3
  • lwjaiyjk3
  • 2013年12月11日 14:45
  • 1235

c中宏定义的特殊符号

在C/C++中,宏定义是由define完成的,define中有三个特殊的符号值得我们注意:1. #:在宏展开的时候会将#后面的参数替换成字符串,如:  #define p(exp) printf(#e...
  • ljx0305
  • ljx0305
  • 2010年04月07日 17:37
  • 2964

在函数之前有一些空的宏定义有什么作用

读OpenCV代码 遇到这种情况。 答案是跨平台编译的时候有用,如下: #ifdef __WIN32 #define CV_OUT __out #else #define CV_OUT ...
  • herogsep
  • herogsep
  • 2015年08月20日 16:46
  • 266

一些宏定义

#define MASK32 0xFFFFFFFF #define MAKE_UINT64(hi32, low32) ((UINT64)(UINT32)low32|((UINT64)(UINT32)(...
  • zmy3376365
  • zmy3376365
  • 2015年06月25日 09:58
  • 342

C/C++常用宏定义,注意事项,宏中#和##的用法

总结下宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。 当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等。 下面列举一些成熟软...
  • anye3000
  • anye3000
  • 2011年08月10日 17:30
  • 4484

MFC宏定义详解

AND_CATCH   AND_CATCH(exception_class,exception _object_point_name)   说明:   定义一个代码块,它用于获取废除当前TRY块中的附...
  • doubleuto
  • doubleuto
  • 2010年09月28日 11:53
  • 3803

C语言中调试用到的宏定义

在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难。因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在。      下面定义了宏...
  • wabil
  • wabil
  • 2017年06月15日 09:18
  • 276

宏定义 与一些 方法

#define Version [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey...
  • boomery
  • boomery
  • 2015年06月25日 17:58
  • 183

cocos2d-x的一些宏定义

NS_CC_BEGIN cocos2d命名空间开始 NS_CC_END cocos2d命名空间结束 USING_NS_CC 声明cocos2d命名空间 CC_SYNTHESIZE_READON...
  • microsoftwin32
  • microsoftwin32
  • 2013年09月29日 15:18
  • 1311

OC一些宏定义

一.在一些宏处理中常有ifdef __cplusplus如下: ///////////////////////////// //eg1: ///////////////////////////// ...
  • baitxaps
  • baitxaps
  • 2015年12月02日 10:16
  • 600
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一些宏定义
举报原因:
原因补充:

(最多只允许输入30个字)