网站欣赏与创建网页教案,1号店网站模板下载,wordpress加载ajax,wordpress是开源的吗1. 概念
以inline修饰的函数叫做内联函数#xff0c;编译时C编译器会在调用内联函数的地方展开#xff0c;没有函数调 用建立栈帧的开销#xff0c;内联函数提升程序运行的效率。
如果在上述函数前增加inline关键字将其改成内联函数#xff0c;在编译期间编译器会用函数…1. 概念
以inline修饰的函数叫做内联函数编译时C编译器会在调用内联函数的地方展开没有函数调 用建立栈帧的开销内联函数提升程序运行的效率。
如果在上述函数前增加inline关键字将其改成内联函数在编译期间编译器会用函数体替换函数的 调用。 2. 内联函数特性
1.inline是一种以空间换时间的做法如果编译器将函数当成内联函数处理在编译阶段会用函数体替换函数调用缺陷可能会使目标文件变大优势少了调用开销提高程序运行效率。 2.inline对于编译器而言只是一个建议不同编译器关于inline实现机制可能不同一般建议将函数规模较小(即函数不是很长具体没有准确的说法取决于编译器内部实现)、不是递归、且频繁调用的函数采用inline修饰否则编译器会忽略inline特性
3.inline不建议声明和定义分离分离会导致链接错误。因为inline被展开就没有函数地址 了链接就会找不到
3. 与内联函数有关的面试题
3.1 宏的优缺点
优点
增强代码的复用性。提高性能。
缺点
不方便调试宏。因为预编译阶段进行了替换导致代码可读性差可维护性差容易误用。没有类型安全的检查 。
3.2 C有哪些技术替代宏
常量定义 换用const enum短小函数定义 换用内联函数