Objective C - 条件编译:

本文介绍了Objective-C中如何使用条件编译来处理不同版本的代码,通过`#ifdef`, `#ifndef`, `#else`, `#endif`等宏控制代码块的编译。在多版本项目中,条件编译能帮助维护同一份代码。同时,文章还讨论了头文件中的`#ifndef`防止重复包含和可能出现的变量重复定义问题及其解决方案。" 129782188,1148675,HTML表格样式设计,"['HTML', 'CSS', '前端']
摘要由CSDN通过智能技术生成

一个项目中要求有多个版本。为了一份代码多个版本,便于维护。采用了 条件编译。定义了一个宏,如果宏存在编译 #ifndef 下面的。 如果宏不存在则编译 #else下面的。

#ifndef SERVER

#else

        [self setRightItem];

#endif



#ifdef#else#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。

例子:

#ifdef MAC_OS_X

#  define DATADIR “/uxnl/data”

#else

#  define DATADIR “/usr/data”

#endif



很多宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 
    条件编译命令最常见的形式为: 
    #ifdef 标识符 
    程序段1 
    #else 
    程序段2 
    #endif 
     
    它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 
    其中#else部分也可以没有,即: 
    #ifdef 
    程序段1 
    #denif 
     
    这里的“程序段”可以是语句组,也可以是命令行。这种条件编译可以提高C源程序的通用性。如果一个C源程序在不同计算机系统上系统上运行,而不同的计算机又有一定的差异。例如,我们有一个数据类型,在Windows平台中,应该使用long类型表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值