美文网首页
c中的宏函数

c中的宏函数

作者: 动感新势力fan | 来源:发表于2016-05-10 16:29 被阅读82次

很显然,我们不会选择用函数来完成这个任务,原因有两个:首先,函数调用会带来额外的开销,它需要开辟一片栈空间,记录返回地址,将形参压栈,从函数返回还要释放堆栈。
这种开销不仅会降低代码效率,而且代码量也会大大增加,而使用宏定义则在代码规模和速度方面都比函数更胜一筹;其次,函数的参数必须被声明为一种特定的类型,所以它只能在类型合适的表达式上使用,我们如果要比较两个浮点型的大小,就不得不再写一个专门针对浮点型的比较函数。
反之,上面的那个宏定义可以用于整形、长整形、单浮点型、双浮点型以及其他任何可以用“>”操作符比较值大小的类型,也就是说,宏是与类型无关的。

define 可以多行定义 关键是要在每一个换行的时候加上一个 "\ "

相关文章

  • c中的宏函数

    很显然,我们不会选择用函数来完成这个任务,原因有两个:首先,函数调用会带来额外的开销,它需要开辟一片栈空间,记录返...

  • iOS [Objective-C] 中的Debug表达式

    表1:预定义的宏和C/C++/Objective-C调试函数 表2:OBjective-C中的调试函数

  • C++中的函数宏

    一、_T()函数与_L()函数 1、_T()函数: 它的作用是使程序支持Unicode编码,它是双字节方式,方便处...

  • 宏定义函数与内联函数

    宏定义函数 在c程序中,可以使用宏定义函数代替简单的函数,这样提高程序效率,预处理器用复制宏代码的方式代替函数调用...

  • C++ assert

    断言,是宏,而非函数。assert 宏的原型定义在 (C)、(C++)中。其作用是如果它的条件返回错误,则终止程...

  • iOS pch中定义使用宏定义函数和代码块

    一、objective-C项目pch文件中定义函数和代码块 使用宏定义函数实现 使用宏定义代码块实现 二、swif...

  • C++ 函数(3)

    1. 宏函数 宏函数的缺点: 宏看起来像一个函数调用,但是会有隐藏一些难以发现的错误。 在C++中,预处理器不允许...

  • 第九章 内联函数

    简介:C++中预处理器宏存在的问题,在C++中如何用内联函数解决这些问题以及使用内联函数的方针和内联函数的工作机制...

  • c++技巧

    使用c/c++宏进行编程 c/c++中宏的是在预处理的过程中进行展开,可以用来进行函数的声明和定义. 在阅读lib...

  • NS_INLINE 内联函数

    1 内联函数与宏定义 C++ 语言支持函数内联,其目的是为了提高函数的执行效率(速度)。在C程序中,可以用宏代码提...

网友评论

      本文标题:c中的宏函数

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