程式設計師的自我修養 chapeter 4 靜態鏈結

2021-09-27 06:59:45 字數 1026 閱讀 5718

乙個靜態庫可以簡單地看成一組目標檔案的集合

檢視後格式如下:

所以我們不能在.**件裡面、類外部定義類成員函式,但是我們可以在.**件裡面、類內部定義類成員函式!

因為類內部的是inline function --> 一般情況下會是weak symbol

類外部就是global symbol 強定義啦

多個弱定義沒有關係 ,多個強定義就很有問題了

more referece and details @

cy: inline的一般會執行得比較快,但是不適合編譯大型專案,因為你改一處,後買你所有得地方都得重新編譯,因為是覆蓋的方式編譯得。

再重新看這段話 ,我的理解是:在類成員內部定義了這個函式,那麼只要函式實現有一點改變,所有include了這個標頭檔案的c檔案也得重新編譯了 (相當於c檔案的內容也全都變了)。在xx.**件裡面宣告,但是在xx.c檔案裡面定義的好處就是,只有xx.c檔案需要進行重新編譯,包含了xx.h的其他c檔案不需要改變,因為此時的c檔案實際上只有相應函式的乙個可重定位位址(這個位址在和xx.o檔案的鏈結生成main.o的時候會指向xx.o中函式的位址),c檔案的內容是沒有變的。

僅在當前檔案中有效

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

對合作夥伴的尊重與包容 每個人的水平必然是不相同,大家各有擅長,並且在不斷進步中。所以遇到同事或者合作的友商犯了比較低階 對你來說可能是 的錯誤是很正常的事情,我們更多的是應該給與尊重與包容,而不是嘲笑或者消極對待。在不斷的鼓勵同事和合作夥伴之後,能感受到大家對我的信賴,特別是和友商的合作變得非常的...