2015年3月25日 星期三

[Linux_C]002

1.瞭解 inline的使用
一般正常的函數調用是當使用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) 的動作而已。

在剛開始使用make來進行專案建立最明顯好的地方就是,當檔案更新時並且需要連結使用到但未編譯進去,這時候如果一開始在makefile有定義好相關需要的檔案,你只需要在意最後編譯完成的檔案即可,而不需要打一串命令將相關的檔案編譯完成後,最後才去編譯所需要的檔案。

3.C++標準函式庫的函數( libg++ )
在g++下若要知道有哪些C++函式可以使用,請在CMD輸入如下指令
info libg++
若要知道C的標準函式,可輸入下面指令
info libc

4.遞回函式
遞回有分直接遞回間接遞回
直接遞回  = 呼叫函式本身
間接遞回 = 呼叫其他函式



沒有留言:

張貼留言

創用 CC 授權條款
我什麼都不會!!Eddie Sung製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款釋出。
此作品衍生自Eddie Sung