文章目錄
- 2.11分離編譯模式
2.11分離編譯模式
每個人本身都像一臺計算機,自己總是可以高效作業,而計算機間通信總是瓶頸,
- 源于C,
- C++語言中繼續用,
- 指一個程式(專案)由若干個源檔案共同實作,而每個源檔案單獨編譯生成目標檔案,最后將所有目標檔案鏈接起來形成單一的可執行檔案
?
- 分離編譯模式是CC+組織源代碼和生成執行檔案的方式,
- 開發大型專案時,
- 不可能把所有的源程式都放在一個檔案,
- 分別由不同的程式員開發不同的模塊,
- 再將這些模塊匯總成為最終的可執行程式
- 這里就涉及到不同的模塊(源檔案)定義的函式和變數之間的相互呼叫
- C/C++:
- 只要給出函式原型(或外部變數宣告)
- 就可在本源檔案中用該函式(或變數)
- 每個源檔案都是一個獨立編譯單元,
- 本源檔案中使用但未在此定義的變數或函式,
- 就假設在其他的源檔案中定義好了
- 每個源檔案生成獨立的目標檔案(obj),然后鏈接(link)將目標檔案組成最終exe
?
- 每個函式或外部變數只能夠被定義一次,但可以被多次“宣告
?
- func()被多次宣告,不影響程式的正常編譯和運行,
- 其實這正是C++分離編譯模式的特點之一,
- 一個源檔案中允許同時包含定義和宣告同一個識別符號的陳述句,這樣有利于頭檔案內容的組織,
?
- ②函式宣告也是有作用域的,
- 類的成員函式只能在類體中宣告,
- 對于外部函式,如果是在一個函式體內宣告另外一個外部函式,那么該函式宣告的作用域就是從宣告處起到函式體
結束為止, - 在別的位置要呼叫這個函式,還必須再次宣告,
- a.cpp,定義了一個函式fncO;
- b.cpp,在此源檔案中有兩個函式 Ishow()和 maino,這兩個函式都呼叫了在a.cpp中定義的函式 funco,
- 如果堅持將函式宣告放在函式體內部,則在函式 Showa和 maino中都必須分別對函式fncO進行宣告,否則編譯器報錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/211124.html
標籤:python
上一篇:程式員必備能力——晉升之道
