歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C中為什麼要用內聯函數

inline 這個名稱可以反映出它的工作方式,函數會在它所調用的位置上展開.這麼做可以消除函數調用和返回所帶來的開銷(寄存器存儲和恢復),而且,編譯器會把調用函數的代碼和函數本身放在一起進行優化,所以有進一步優化代碼的可能.

不過這麼做是有代價的,代碼會變長,這也就意味著占用更多的內存空間或者占用更多的指令緩存.

內核開發者通常把那些對時間要求比較高,而本身長度又比較短的函數定義成內聯函數.

內聯函數必須在使用之前就定義好,否則編譯器就沒法把這個函數展開,實踐中一般在頭文件中定義內聯函數.

Copyright © Linux教程網 All Rights Reserved