C 內聯函式

2021-07-28 03:48:56 字數 410 閱讀 6539

內聯函式一般可以:

1.加快程式的執行速度;

2.可能減小可執行檔案的大小;

3.可能增加可執行檔案的大小;

4.可能降低執行速度。

1和3很好理解,在編譯時期內聯函式能將**直接寫入其被呼叫的地方,這樣就減少了入棧出棧的時間消耗,但是如果呼叫內聯函式的地方過多,**量也會隨之增加,增加了可執行檔案的大小。

2為什麼正確呢?是因為如果呼叫普通函式的話編譯器可能會產生更多的**來實現壓、出暫存器的**,對於簡單的內聯函式會這樣。但如果優化器能順序整合消除大量冗餘**的話,對大函式也同樣適用。

4呢?如果可執行檔案過大,會頻繁的出現記憶體的換入換出操作,會是執行速度下降。

綜上:我們要根據實際需求來確定自己是否要使用內聯函式。

C 內聯函式

1 什麼是內聯函式?內聯函式就是小型函式,犧牲空間來節省函式呼叫的開銷,一般用作比較小的函式,即函式內部沒有迴圈 開關語句等。內聯函式被發明出來就是為了取代c中的巨集,因為巨集是單純的替換而沒有型別檢查所以經常出毛病,2 為什麼要引入內聯函式?當然,引入內聯函式的主要目的是 解決程式中函式呼叫的效率...

C 內聯函式

1 什麼是內聯函式?2 為什麼要引入內聯函式?3 為什麼inline能取代巨集?4 內聯函式和巨集的區別?5 什麼時候用內聯函式?6 如何使用內聯函式?7 內聯函式的優缺點?8 如何禁止函式進行內聯?9 注意事項 1 什麼是內聯函式?內聯函式是指那些定義在類體內的成員函式,即該函式的函式體放在類體內...

c 內聯函式

1 什麼是內聯函式?內聯函式是指那些定義在類體內的成員函式,即該函式的函式體放在類體內。2 為什麼要引入內聯函式?當然,引入內聯函式的主要目的是 解決程式中函式呼叫的效率問題。另外,前面我們講到了巨集,裡面有這麼乙個例子 define abs x x 0?x x 當 i出現時,巨集就會歪曲我們的意思...