1.内联函数
通常,函数调用都有一定的开销,因为函数的调用过程包含建立调用,传递参数,跳转到函数代码并返回。而使用宏是代码内联,可以避开这样的开销。
内联函数:使用内联diamagnetic代替函数调用。把函数变成内联函数,编译器可能会用内联diamagnetic替换函数调用,并执行一些优化,但是也可能不起作用
标准规定,具有内部谅解的函数可以成为内联函数,还规定了内联函数的定义与调用该函数的代码必须在同一个文件中。使用内联函数关键字(inline)和存储类别说明符static
Inline static void eatline(){
While(getchar() ! = '\n') continue;
}
Int main(){
...
eatline();
…
}
编译器查看内联函数的定义,可能会用函数体中的代码替换eatline()函数调用。效果相当于在函数调用的位置输入函数体中的代码
Inline static void eatline(){
While(getchar() ! = '\n') continue;
}
Int main(){
...
While(getchar() ! = '\n') continue;
…
}
由于并未给内联函数预留单独的代码块,所以无法获得内联函数的地址。内联函数应该比较短小,把较长的函数变为内联函数并不会节约时间,因为执行函数体的时间比调用函数的时间要长得多。
如果要在多个文件中使用某个内联函数,可以把内联函数定义放入头文件,并在使用该内联函数得文件中包含该头文件
2._Noreturn
该说明符说明调用完函数以后不返回主调函数,exit()就是使用得_Noretrun,而被调函数中的return 会返回到主调函数
好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈