宏函数和函数的区别

转载 2013年12月04日 02:02:37
函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。大家要知道的是,函数调用是要使用系统的栈来保存数据的,如果编译器里有栈检查选项,一般在函数的头会嵌入一些汇编语句对当前栈进行检查;同时,CPU也要在函数调用时保存和恢复当前的现场,进行压栈和出栈操作,所以,函数调用需要一些CPU时间。 

而宏函数不存在这个问题。宏函数仅仅作为预先写好的代码嵌入到当前程序,不会产生函数调用,所以仅仅是占用了空间,在频繁调用同一个宏函数的时候,该现象尤其突出。

相关文章推荐

预处理宏和内联函数的区别

  • 2010年09月09日 20:03
  • 37KB
  • 下载

c#f方法和函数的区别

  • 2017年10月27日 09:25
  • 32KB
  • 下载

宏与函数的区别

1.带参数的宏定义的参数没有类型,

存储过程和函数的区别

  • 2016年06月03日 17:15
  • 858B
  • 下载

含参数的宏与函数的区别

?         宏替换不占运行时间,只占编译时间;而函数调用则占运行时间(分配单元、保留现场、值传递、返回),所以每次执行都要载入所以执行起来比较慢一些。。 ?         定义宏的时候...

PHP中几种输出函数的区别

  • 2013年02月03日 12:36
  • 1.93MB
  • 下载

宏与内联函数的区别

介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的 功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如 #define TABLE_COMP(x) ((x)>0?(x):...

函数重载和覆盖的区别.doc

  • 2012年04月12日 21:39
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:宏函数和函数的区别
举报原因:
原因补充:

(最多只允许输入30个字)