1. 程式人生 > >【C++】inline函式 && C和C++的相互呼叫

【C++】inline函式 && C和C++的相互呼叫

一、inline函式 (佔用太大空間)

在編譯時處理。呼叫點把程式碼直接展開

注意* 是以程式碼膨脹為代價

當函式堆疊的開銷>函式執行的開銷(建議使用inline函式)

一般寫在標頭檔案下

inline函式                    &&                        static函式

直接展開                                                   開棧清棧

globa                                                         local

 

行內函數的注意事項:

a.遞迴無效;while,switch 編譯器會當普通執行而忽視inline

b.inline 是給編譯器的一個建議

c.在Debug版本下不生效,Release版本下生效

d.    內聯是基於現實的,不是基於宣告的

 

 

二、C/C++互相呼叫

1>C++中的 extern “C”在C語言的規則下處理  只有C++ 相容 C

2>C呼叫C++

3>C++呼叫C

在cpp檔案中加 extern "C"

補充一句:**C++是C衍生出來了的,所以呼叫的時候extern"C"只能在C++檔案中使用