一般正常的函數調用是當使用n次函式時,編譯器於編碼時將函數的位址編譯進要使用的主函式中,之後透由位址呼叫使用該函數,所以工程師一般需要注意的是JUM到記憶體是否過遠。
當使用inline宣告該函式時,編譯器將會使用copy的方式將改函式嵌入到主函式中,減少了遠程跳躍的問題,但等於多暫用了記憶體空間,所以若需要呼叫的次數越多所佔的容量將越大。
工程師需要注意使用該宣告的優缺點。
2.make的使用
Linux使用make來協助建立專案,make的使用教學請見鳥哥的Linux私房菜,
下面為其關於make的簡短章節,並複製一小片段以利記憶
為什麼要用 make
# 1. 先編輯 makefile 這個規則檔,內容只要作出 main 這個執行檔 [root@www ~]# vim makefile main: main.o haha.o sin_value.o cos_value.o gcc -o main main.o haha.o sin_value.o cos_value.o -lm # 注意:第二行的 gcc 之前是 <tab> 按鍵產生的空格喔! # 2. 嘗試使用 makefile 制訂的規則進行編譯的行為: [root@www ~]# rm -f main *.o <==先將之前的目標檔去除 [root@www ~]# make cc -c -o main.o main.c cc -c -o haha.o haha.c cc -c -o sin_value.o sin_value.c cc -c -o cos_value.o cos_value.c gcc -o main main.o haha.o sin_value.o cos_value.o -lm # 此時 make 會去讀取 makefile 的內容,並根據內容直接去給他編譯相關的檔案囉! # 3. 在不刪除任何檔案的情況下,重新執行一次編譯的動作: [root@www ~]# make make: `main' is up to date. # 看到了吧!是否很方便呢!只會進行更新 (update) 的動作而已。 |
3.C++標準函式庫的函數( libg++ )
在g++下若要知道有哪些C++函式可以使用,請在CMD輸入如下指令
info libg++
若要知道C的標準函式,可輸入下面指令
info libc
4.遞回函式
遞回有分直接遞回與間接遞回
直接遞回 = 呼叫函式本身
間接遞回 = 呼叫其他函式
沒有留言:
張貼留言