美文网首页
宏定义相关

宏定义相关

作者: 陈_振 | 来源:发表于2018-11-28 09:15 被阅读0次

最近面试被问到将#define max(a, b)补充完整。这个知识点自己很久之前也详细了解过,要写出完美的定义会非常复杂。但这个东西我自己实在是用的太少,在面试的时候直接处于懵逼状态,连宏函数都忘记该怎样去写了。所以,趁热打铁,赶紧再记录一下。

//GNUC MIN
#define MIN(A,B)    ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __a : __b; })
#define __NSX_PASTE__(A,B) A##B

#define MIN(A,B) __NSMIN_IMPL__(A,B,__COUNTER__)

#define __NSMIN_IMPL__(A,B,L) ({ __typeof__(A) __NSX_PASTE__(__a,L) = (A); \
                                 __typeof__(B) __NSX_PASTE__(__b,L) = (B); \
                                 (__NSX_PASTE__(__a,L) < __NSX_PASTE__(__b,L)) ? __NSX_PASTE__(__a,L) : __NSX_PASTE__(__b,L); \
                              })

下面这个链接是我很久之前看过的,讲的很详细了。

宏定义的黑魔法 - 宏菜鸟起飞手册

相关文章

  • OC常用宏定义

    测试输出 Log 屏幕相关 系统相关 定义弱引用、强引用 定义警告宏 颜色宏 其他宏

  • 宏定义相关

    最近面试被问到将#define max(a, b)补充完整。这个知识点自己很久之前也详细了解过,要写出完美的定义会...

  • Block相关宏定义

    以下宏定义摘抄自:GUNStep

  • 『nodeMCU』GPIO接口学习

    PIN 相关宏定义gpio_out_setGPIO 输入输出相关宏GPIO 中断gpio_pin_intr_sta...

  • Unity平台相关宏定义

    Platform #define directives The platform #define directiv...

  • iOS_宏定义相关

    2018.4.20 定义涉及值的宏时最好加上括号。 代码地址:https://github.com/Thinker...

  • iOS中宏定义相关

    宏定义 例如: 注意:要是宏定义的值中有+、-一定要用括号括起来,防止在代码上下文中出现运算优先级错误 宏定义函数...

  • 关于符号的可见性

    相关的宏定义 相关的编译项 符号可见的两个要素 基本原理

  • 链表主要操作集的实现

    相关宏定义及数据类型的别名定义#define OK 1#define ERROR -1#define EMPTY ...

  • Object-C_宏魔法记录

    1.定义及相关介绍宏嘛很简单,就是简单的查找替换 分类 对象宏(object-like macro):对象宏一般用...

网友评论

      本文标题:宏定义相关

      本文链接:https://www.haomeiwen.com/subject/ekgoqqtx.html