2016 - 2024

感恩一路有你

编程规范的总体原则 比较函数式宏定义和普通函数的区别?

浏览量:1860 时间:2021-03-12 03:09:49 作者:admin

比较函数式宏定义和普通函数的区别?

不同。虽然函数是相似的,但是函数将生成独立的代码,并且每次调用都将在相同的位置执行代码,无论执行多少次。宏定义是简单的文本替换,生成的代码是程序替换后生成的代码。简而言之,每次宏被替换后在程序中使用时都会产生类似的代码,并且替换后产生的代码存在于程序的不同位置。宏定义不检查参数类型,它只是一个简单的文本替换

1。当编译器编译源代码时,宏将被简单地替换,没有任何逻辑检测,即简单的代码复制。

2. 定义宏时不考虑参数类型。

3. 参数宏的使用将使具有相同功能的代码块在目标文件中有多个副本,这将增加目标文件的大小。

4. 参数宏的运行速度比函数快,因为不需要参数栈的压出操作。

5. 在定义参数宏时,应该更加小心,并添加更多的方括号。

6. 该函数只存在于目标文件中的一个位置,这样可以节省程序空间。

7. 函数的调用会涉及参数的传递,压栈/出栈操作比较慢。

8. 函数的参数有传递值和地址(指针)的问题,但参数宏不存在。

编程规范的总体原则 头文件里可以定义变量 什么时候需要增加空行

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。