重用其他程式庫也會帶來一些不足:需要使用者得到可重用的**,需要充分考慮重用後的效率,還要關注由重用其他程式所帶來的潛在名字空間衝突,以及要考慮與可重用程式庫保持版本同步問題。
c++撰寫可用的程式庫已屬不易,撰寫可重用的程式庫更是專家級任務。效率並不是最終目標,而擴充套件性、靈活性等其他特性將會比效率更加重要
一般我們自己在編寫乙個程式庫的時候,會盡量找到高效率優秀的程式庫,然後重用其中高效的**。不會乙個庫都全部是自己編碼,一來開發效率低下,二來質量也不高。主要還涉及領域知識問題,有些程式庫是某個領域專用的,裡面的介面都是這個領域專業的人的知識。因此這也是重用**庫關鍵點。高質量的**除了經驗之外,還需要專業領域知識!
可能損害效率,或者引入潛在的名字空間衝突,並且還不得不和可重用程式庫的版本更新保持同步!
一種避免的方法是讓程式庫是自含式的,自含式程式庫定義和實現它所需要的所有功能,而沒有使用其他程式庫,除非其他程式庫的介面非常好用。
自含式程式庫會帶來兩個問題:
1、實現困難,一旦選擇自含式,那麼就必須實現所有功能
2、使用困難,
3、效率:自含式程式庫可能太低效,**比較龐大,造成過度膨脹。
4、隔離:將自己和其他程式庫的依賴性中隔離開來,自含式程式庫也使自己沒辦法實現某些對程式庫有益的修改。
程式庫隨想
我們總是希望有這樣乙個庫 它能夠讓我們方便的完成某個任務,如果a庫使用起來比b庫簡單那麼一點點,我們就更願意使用a。因此,我們也經常幹這樣的事情 把乙個現有的庫做乙個薄封裝,從而使用起來更適合當前的程式設計環境。一般而言,簡單的庫總是更好的,然而這並不是一定的。我總是能聽到一些程式設計師抱怨 為什麼...
什麼叫程式庫
所謂程式庫,一般是軟體作者為了發布方便 替換方便或二次開發目的,而發布的一組可以單獨與應用程式進行compile time或runtime鏈結的二進位制可重定位目標碼檔案。通俗一點說,所謂乙個庫,就是乙個檔案,這個檔案可以在編譯時由編譯器直接鏈結到可執行程式中,也可以在執行時由作業系統的runtim...
什麼叫程式庫?
什麼叫程式庫 所謂程式庫,一般是軟體作者為了發布方便 替換方便或二次開發目的,而發布的一組可以單獨與應用程式進行compile time 或runtime 鏈結的二進位制可重定位目標碼檔案。通俗一點說,所謂乙個庫,就是乙個檔案,這個檔案可以在編譯時由編譯器直接鏈結到可執行程式中,也可以在執行時由作業...