Objective C - 如何编写宏

2024-01-02

我需要编写一个多行宏。我需要这个,因为我必须有部分代码已“粘贴”到我的代码中的特定点。我怎样才能做到这一点?


从你的问题中并不清楚你真正想要什么,但是一个简单的多行宏定义如下:

#define FOO something; \
            something_else;

当然,要小心if .. else问题。如果这适用于您的情况,您可以将东西包装成do { ... } while(0)构造。这将确保它被视为单个语句。

#define FOO do                 \
            {                  \
               something;      \
               something_else; \
            } while (0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective C - 如何编写宏 的相关文章

  • #define, #ifdef #undef #endif

    我有以下代码 define PROC ADD void main void while 1 ifdef PROC ADD Do this code here then undefined it to run the code in the
  • 包含目录中的所有文件?

    如何实现以下代码想要实现的目标 include dir In Bash HEADER all headers h echo ifndef ALL HEADERS gt HEADER echo define ALL HEADERS gt gt
  • 为什么 SBCL eval 函数会丢失它运行的宏?

    print x 打印出我想要评估的内容 但是 eval x 失败了 但如果我运行 x 它就可以了 我缺少什么 请告诉我为什么这不起作用 或者我是否在做一些愚蠢的事情 我正在尝试打印动态大小的表并设置 lambda 变量以最终计算表中每个单元
  • 如何根据“配置管理器”创建自己定义的常量?

    当我选择 调试 配置时 DEBUG常数处于活动状态 当我选择 释放 配置时 DEBUG常量处于非活动状态 我如何创建自己的配置 以便它们包含我自己定义的常量 基本上 我想要这样 如果我选择配置 FOOBAR 就会有一个常量FOO and B
  • C 预处理器中的宏评估

    我想做这样的事情 define NUM ARGS 2 define MYMACRO0 no args define MYMACRO1 one arg define MYMACRO2 two args define MYMACRO num M
  • 使用 Scala 宏或反射实例化类

    在我的 scala 代码中 我希望能够实例化一个新类 例如 假设我有以下代码 class Foo def foo 10 trait Bar val bar 20 理想情况下 我希望能够做类似的事情 def newInstance A lt
  • 定义一个断言,即使定义了 NDEBUG,该断言也有效

    我想定义一个assert与标准相同的宏assert 3 http man7 org linux man pages man3 assert 3 html调用 但它不会被预处理器删除NDEBUG被定义为 这样的呼唤 让我们称之为assert2
  • 使用 __LINE__ 获取代码行

    我尝试使用以下方法打印当前代码的行号 include
  • 包含防护的推荐命名约定是什么?

    包含守卫通常如何命名 我经常看到这样的情况 ifndef FOO H define FOO H endif 但是 我认为这不是很直观 如果看不到文件名 很难分辨出什么内容FOO H它的用途和它的名字所指的是什么 什么被认为是最佳实践 我个人
  • C++ 在预处理器 #if 中对 sizeof() 比较抛出编译错误

    我有这个 它不会从 Visual Studio 编译错误 致命错误 C1017 无效的整数常量表达式 我该怎么做 template
  • Objective C“#if”语法

    我对 如果 或 如果 有点困惑 if当我查看一些类时我看到的语法 例如 if someConstant someNumber do something elif etc versus if someConstant someNumber d
  • Web.Config 文件中的多行文本

    我需要在网页上显示欢迎消息 我希望将消息文本保存在 Web Config 文件中 文本将包含换行符 e g
  • 最好的 AutoHotKey 宏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 其可变参数没有参数的可变宏

    调用可变参数宏是否合法M其可变参数没有参数 相关标准报价为 cpp 替换 4 如果宏定义中的标识符列表不以省略号结尾 则调用类似函数的宏中的参数数量 包括那些不包含预处理标记的参数 应等于宏定义中的参数数量 否则 调用中的参数数量应多于宏定
  • 如何创建一个扩展为“(x+y*240)*2”这样的表达式的 GNU GAS 宏?

    我正在使用 GAS 为 ARM Linux 构建一个程序 但我想做一些宏以使我的开发更加智能 然后我想知道 我怎样才能为此做一个宏 x y 240 2 were x and y are int 将像这样使用 mov r0 MACRO SHO
  • C++ 编译时类型注册技巧

    我有以下情况 假设我有一堆类型 函子 我想在编译期间注册 编译它们 最好是像 boost mpl vector 这样的东西 你知道有什么技巧可以做得很好吗 我的愿望是拥有实现函子类型和注册文件的 hpp 文件 其中宏将类型引入编译中 例如
  • C - 可变参数宏,它扩展为每个参数的一组宏调用

    我想要一个接受多个函数指针的宏调用 并且每个函数指针由第二个宏调用 该宏是函数声明 我想要表单上的两个宏 define FUNCTION DEF func extern int func void define FUNCTION DEFS
  • CPP 宏:给出实例化/调用数量的计数器

    我想要一个C预处理器宏 知道到目前为止该宏的实例化 宏调用的数量 例子 int main printf d n MACRO printf d n MACRO 应打印 0 1 这样的事情可能吗 请注意 它是not足以将其转发给下面建议的函数
  • 使用宏计算源文件行数?

    是否可以使用 C C 预处理器将源文件中的行数计算为宏或某种编译时可用值 例如 我可以更换吗MAGIC1 MAGIC2 and MAGIC3在下面 并在使用时以某种方式获取值 4MAGIC3 MAGIC1 can be placed whe
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件

随机推荐