Linux下的庫
阿新 • • 發佈:2017-06-29
都是 配置 建議 大堆 什麽 .lib 保持 大型項目 做到 Linux下的庫
庫,無論在什麽平臺下,都只有兩種,一種是:
所以,使用平臺的不同,有些是不同,但是,原理是一樣的,我們只有學會了原理,才可以舉一反三,在不同的平臺上進行合理的操作和流利的過度
靜態庫和動態庫都各有優缺點,這些優缺點要學會合理利用,而且,每一種方式都要會,這樣的話,我們就可以根據實際情況來進行裁剪,對軟件進行最合適的配置了我簡單舉幾個例子:動態庫,可以多個軟件共享,而且只有一份,如果,有許多的軟件都要共享,那麽,這是一種好的方式,比如,百度的地圖,就提供了一個so文件,這樣的話,所有的機器都可以用,可以不用重新編譯靜態庫,可以直接編譯到軟件中,不用拖泥帶水,一個軟件掛一大堆的動態包,這是一種不友好的行為的,而且,有的軟件動態包超級大,而,你又是只用到其中一個小小的功能,這無疑,是一種糟糕的做法!但是,有時候,你也會發現直接編譯進軟件,會有其他的不好的地方,比如:這個單一的軟件,超級大!而且是一個超級大!編譯也很浪費時間!
一句話說清楚:大型項目用動態庫,小型軟件直接靜態編譯
根據UNIX哲學:不要去創造大的東西,盡量保持簡潔,我們一直都是建議,盡可能的小,做到無敵小超人那樣!
庫,無論在什麽平臺下,都只有兩種,一種是:
- 動態庫,可以多個共享
- 靜態庫,直接編譯到軟件之中
所以,使用平臺的不同,有些是不同,但是,原理是一樣的,我們只有學會了原理,才可以舉一反三,在不同的平臺上進行合理的操作和流利的過度
靜態庫和動態庫都各有優缺點,這些優缺點要學會合理利用,而且,每一種方式都要會,這樣的話,我們就可以根據實際情況來進行裁剪,對軟件進行最合適的配置了我簡單舉幾個例子:動態庫,可以多個軟件共享,而且只有一份,如果,有許多的軟件都要共享,那麽,這是一種好的方式,比如,百度的地圖,就提供了一個so文件,這樣的話,所有的機器都可以用,可以不用重新編譯靜態庫,可以直接編譯到軟件中,不用拖泥帶水,一個軟件掛一大堆的動態包,這是一種不友好的行為的,而且,有的軟件動態包超級大,而,你又是只用到其中一個小小的功能,這無疑,是一種糟糕的做法!但是,有時候,你也會發現直接編譯進軟件,會有其他的不好的地方,比如:這個單一的軟件,超級大!而且是一個超級大!編譯也很浪費時間!
一句話說清楚:大型項目用動態庫,小型軟件直接靜態編譯
根據UNIX哲學:不要去創造大的東西,盡量保持簡潔,我們一直都是建議,盡可能的小,做到無敵小超人那樣!
Linux下的庫