用inline的函數比一般函數調用速度快, 但會佔用更多內存空間
static 函數 不能被外部文件調用的,只能被在本文件調用的
如果static函數時一個類的成員函數, 那這個函數可以在沒有類的實例的情況下被調用
static inline的內聯函數,一般情況下不會產生函數本身的代碼,而是全部被嵌入在被調用的地方。如果不加static,則表示該函數有可能會被其他編譯單元所調用,所以一定會產生函數本身的代碼。所以加了static,一般可令可執行文件變小。內核裏一般見不到只用inline的情況,而都是使用static inline。
這一合併能夠免除函數調用的任何開銷,#define語句也可以排除額外的函數調用。
另外,使用inline會增加二進制映像的大小,而這會降低訪問CPU高速緩存的速度,所以不能在所有的函數定義中使用它。