关于宏定义
宏定义本身没有地址,编译时预处理阶段已经代入到代码中。如果代码中引用了宏定义的“地址”,会导致编译器报not declared in this scope的错。
关于内联函数
内联函数与宏定义不同,内联函数通过编译器控制嵌入到代码中,检查函数参数类型,更加安全,与此同时省去函数调用压栈出栈的过程。代码中引用内联函数地址编译通过没有问题。但是此地址只是被引用函数的一个偏移量,不同的调用点报的地址根据被调用函数不同而变化,并没有独立的函数名称与之对应。
关于宏定义
宏定义本身没有地址,编译时预处理阶段已经代入到代码中。如果代码中引用了宏定义的“地址”,会导致编译器报not declared in this scope的错。
关于内联函数
内联函数与宏定义不同,内联函数通过编译器控制嵌入到代码中,检查函数参数类型,更加安全,与此同时省去函数调用压栈出栈的过程。代码中引用内联函数地址编译通过没有问题。但是此地址只是被引用函数的一个偏移量,不同的调用点报的地址根据被调用函数不同而变化,并没有独立的函数名称与之对应。