zoukankan      html  css  js  c++  java
  • objective-c(十)关于宏的使用

      在objective-c中,有一种类似于jsp小脚本的东西,叫做宏。这种东西实际上就是在编译是才对实际使用的值与对象进行确认,主要针对的是编译过程。

      预编译的一个使用是

      #define 宏名称 值

      在以上是定义一个类似于内存的东西。宏名称是自定义的。可以等同于变量名,有不成文的约定是使用全部大写的字母。 后面的值可以标量,也可以函数代码。非常灵活

      当定义好了以后。这就是一个预编译常量。开始在代码的任何地方使用。

      以上只是一个最基本的还可以这样使用

      #define 宏名称(X,Y) NSLog(@"",(X),(Y));

      这样。只需要在下面的代码中调用如下

      宏名称(1,2);

      即可调用以上的打印;

      还有以下专门为宏准备的内置宏变量

      __FILE__  获取当前执行文件位置

      __LINE__  获取当前调用行数

      __DATE__  获取当前日期

      __TIME__  获取当前时间

      这些都是在编译时获取的。所以自定义的变量不可使用"__"开头和结尾

      前面讲过宏不仅可以定义常量,还可以定义函数。那么当函数不是一行时。可以使用 +enter 来实现多行函数

      还有一个小技巧是。可以获取一个变量的变量名

      #define 宏名称(value) NSLog(@"%s---%@",#value,value);

      如上:#value打印出来的是变量的变量名称,value可以打印出变量的值。用于内部检查非常适合。

      最后介绍的是

      #ifdef 宏名称

        code

      #else if 宏名称

        code

      #else

        code

      #endif

      这样就可以实现在预编译阶段区分一些代码。如果是测试环境,和正式环境区分使用就可以通过这个方法来实现。

      其实内置宏还有很多。具体使用的时候可以到GCC文档查阅

      

      

      

      

  • 相关阅读:
    mongodbwindows安装过程附带安装包百度云
    PostgreSQL数据库中跨库访问解决方案
    PostgreSQL 同步复制(1master+2standby)
    PostgreSQL数据导出导入COPY
    CentOS 6.5安装PostgreSQL9.3.5时报错: jade: Command not found
    postgresql常用命令
    EasyUI Messager 消息框
    js验证如何限制文本框只能输入数字
    推荐几个在线PDF转化成Word网站
    程序员高效编程的14点建议
  • 原文地址:https://www.cnblogs.com/imtodd/p/6678926.html
Copyright © 2011-2022 走看看