函数调用流程:
宏函数:
- 在一定程度上会比普通函数效率高,普通函数会有入栈和出栈的时间开销
- 将比较频繁短小的函数 写为宏函数,直接跑原码
优点:以空间换时间
调用惯例:
- 主调函数和被调函数都必须有一致的约定,才可以正确的调用函数,这个约定我们称为惯例。
- 调用惯例包含的内容:出栈方、参数的传入顺序、函数名称的修饰
- C和C++下默认的调用惯例为 cded
代码示例:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MYADD(x,y) ((x)+(y))
//宏函数 要保证运算的完整性才可以
//宏函数 在一定的程度上 会比普通函数效率高,普通函数会有入栈和出栈时间上的开销
//我们通常将一些比较频繁、短小的函数封装为宏函数
//以空间换时间
int myAdd(int x, int y)
{
return x + y;
}
int main()
{
int a = 10;
int b = 20;
int ret = MYADD(a, b)*20;//((10)+(20)*20)
printf("ret=%d\n",ret);
return EXIT_SUCCESS;
}