管道 -pipe
gcc編譯器將源代碼編譯成可執(zhí)行程序的過程中,需要經(jīng)過許多中間步驟(預(yù)處理、編譯、匯編、鏈接),這些過程實(shí)際上是由不同的程序來負(fù)責(zé)完成的(/usr/bin/gcc、cpp、ccl、as和ld等)。在這個(gè)過程的每一個(gè)階段中,都會(huì)生成一個(gè)臨時(shí)文件,因此會(huì)增加系統(tǒng)資源的開銷,導(dǎo)致速度變慢。可以通過管道來解決這一問題。
管道實(shí)質(zhì)上就是進(jìn)程間的通信方式,它可以用來同時(shí)連接兩個(gè)程序(進(jìn)程),其中一個(gè)程序的輸出可以作為另一個(gè)程序的輸入,這樣就避免了使用臨時(shí)文件,但是編譯時(shí)卻需要消耗更多的內(nèi)存。在編譯過程中采用管道可以使用-pipe參數(shù),即:
gcc –pipe –Wall -pedantic foo.c –o foo
在編譯小型工程時(shí)使用管道,編譯時(shí)間上的差異可能不太明顯,但是對(duì)于大型工程,時(shí)間會(huì)差別很大。
總結(jié)
- 上一篇: sublime xdebug调试环境失败
- 下一篇: gdb调试器(一)