<分区>
C 中的宏和函数有什么区别?请告诉我一个可以使用宏和函数的应用程序?
<分区>
C 中的宏和函数有什么区别?请告诉我一个可以使用宏和函数的应用程序?
最佳答案
基本区别在于函数是编译的,宏是预处理的。当你使用一个函数调用时,它会被翻译成 ASM CALL 和所有这些堆栈操作来传递参数和返回值。当您使用 MACRO 时,C 预处理器将使用宏翻译所有字符串,然后进行编译。
使用宏的缺点是它们隐藏了实现。如果有 bug,就更难找到了。
关于c - C中的宏和函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4990362/